3-01 入力画像の整数化
パソコンで計算するぶんには小数でよいのですが、FPGAで小数の演算は行えません。したがってPythonプログラム内の変数をすべて「整数化」します。
●入力画像を整数化する
まずは入力されるテスト画像を整数化します。画像は3色(BGR)、300×300画素あり、全色全画素をリスト3-01のようにfloatからintに変換します。
さらに符号付8ビット(-128〜+127)の範囲に収める用リミッタを設けます。
またハードウエア化の際はCMOSカメラ(イメージセンサ)を使用しますが、その出力フォーマットがRGB565(3色合計で16ビット)であることを想定して下位ビットを切り捨てます。 |
リスト3‐01 入力画像の整数化(2-8-SSD_inference.py, ssd_predict_show.py両方に必要)
●整数化した入力画像をファイルに落とす
今後EXCEL→VHDLに進むにあたり入力画像が必要になるので、リスト3-02のように保存します。CSV(コンマ区切り)なのでEXCELにコピペすることができます。
またOpenCV(*1)で読み込んだ画像はBGR の順なので注意しましょう。
(*1)インテル社が提供するOpenCVというオープンソースの画像処理ライブラリを使っている |
リスト3-02 画像をCSVファイルに落とす
図3-01に整数化された画像データの一部を示します。符号付8ビットの範囲に入っています。またB(青色)は5ビットなので下位3ビットが常に0になっています。 |
図3-01 整数化された画像データ(bin.csv)
目次へ戻る
|