FC2カウンター FPGAの部屋 2020年03月09日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vivado HLS 2019.2 で xfOpenCV の medianblur をやってみる1

もう1つ xfOpenCV をやってみようということで、日曜日の朝に AXI4-Stream 版の medianblur を作って、C シミュレーション、C コードの合成までできていたはずだったが、日曜日の夕方にカラー画像だったので、白黒画像でやってみようと思ったら AXI4-Stream から Mat 変換で empty だと言われて止まらなくなった。カラー画像対応に戻しても同様に C シミュレーションが動かなくなった。まだ修復できていないので、medianblur の Mat 画像版というか、xfOpenCV の medianblur サンプルそのままをやってみよう。

xfOpenCV の medianblur サンプルそのままなので、ソースコードはそのまま使用しているが、xf_config_param.h は RGB を 1 に、GRAY を 0 に define している。

#define RGB 1
#define GRAY 0


medianblur の Vivado HLS 2019.2 medianblur2 プロジェクトを示す。
xfOpenCV_78_200309.png

Vivado HLS 2019.2 の Project メニューから Project Settings... を選択すると、Project Settings (medianblur2) ダイアログが開く。
Project Settings (medianblur2) ダイアログで、Simulation をクリックして、xf_median_blur_tb.cpp の CFLAGS に

-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x

を設定する。
Input Arguments に

im0.jpg

を設定した。
xfOpenCV_79_200309.png

同様に、Project Settings (medianblur2) ダイアログで、Synthesis をクリックして、

-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x

を設定する。
xfOpenCV_80_200309.png

C シミュレーションを行った。
xfOpenCV_81_200309.png

成功だ。

medianblur2/solution1/csim/build ディレクトリを示す。
xfOpenCV_82_200309.png

元画像の im0.jpg を示す。
im0.jpg はノイズを加えてある800 x 450 ピクセルのカラー画像となっている。これは、xfopencv/examples/medianblur/data/im0.jpg をPinta ツールのサイズ変換で 800 x 450 ピクセルに縮小して、ノイズを加えた画像である。
xfOpenCV_83_200309.jpg

メジアンフィルタをハードウェアでかけた hls_out.jpg を示す。ノイズがかなり除去されている。
xfOpenCV_84_200309.jpg

OpenCV でメジアンフィルタをかけた ref_img.jpg を示す。こちらもノイズがかなり除去されている。
xfOpenCV_85_200309.jpg
  1. 2020年03月09日 07:00 |
  2. reVISION, xfOpenCV
  3. | トラックバック:0
  4. | コメント:0