今回はUSBカメラ変換基板に追加した新機能について紹介したいと思います。
ちょっとした機械学習等で画像データを利用する場合、データ処理を軽くするため、2値化した画像を用いることが多くあります。実際に160x120のビットマップ画像を保存すると16ビットカラーで1ファイル37.5kB程度となります。一方、同じ160x120のビットマップ画像でも白黒ビットマップの場合、1ファイル2.4kBと1/10以下にファイル容量自体も減らすことができます。
そのような用途にも容易に導入できるようにUSBカメラ変換基板側で白黒ビットマップの保存ができる機能を追加してみました。機能としてはUSBカメラで取得したカラービットマップ画像を大津の2値化を用いて閾値を求め、白黒ビットマップに変換し、SDカード等に保存できる機能です。
実際に白黒ビットマップ保存機能を実装して取得したイメージを紹介したいと思います。
160x120のカラービットマップ画像
白黒モード有効時に160x120の白黒ビットマップ画像
光の反射や陰の部分等、2値化によって少しカラー画像と比べて変化している部分がありますが、大津の2値化として上手く働いており、概ね意図した白黒変換ができていることが確認できました。今回追加した白黒ビットマップ保存の新機能はgithub上のv1.1.0以降のファームウェアにSDカードを用いてアップデートすることで利用可能です。なお、白黒ビットマップ保存はデフォルトでは無効化されています。monコマンドで白黒ビットマップ保存を有効化した場合でも電源再投入やリセット等で設定が無効化されるため、利用する場合は再度、有効化する必要があります。今後も機会を見つけてUSBカメラ変換基板の応用例や機能等紹介したいと思います。