もう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 プロジェクトを示す。

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
を設定した。

同様に、Project Settings (medianblur2) ダイアログで、Synthesis をクリックして、
-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x
を設定する。

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

成功だ。
medianblur2/solution1/csim/build ディレクトリを示す。

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

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

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