- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!続・OpenCV
[OpenCV+Java+カメラ|http://www.wasamon.net/miyo/index.cgi?word=Diary%2F2016%2D4%2D10&action=SEARCH]に引き続いて
OpenCVを使ってWebカメラで撮像した映像に対してエッジ検出.
ついでに元画像とのオーバーレイも試してみるなど.
こんな感じ.
* オリジナル
{{ref_image original.png}}
* 反転
{{ref_image canny.png}}
* Cannyでエッジ検出
{{ref_image canny_inv.png}}
* エッジ部分を赤にしてオーバオレイ
{{ref_image canny_overlay.png}}
!Wine
Linux上でWindows APIなプログラムを動かすことができるWine.
久しぶりに試してみた.
ホストLinuxは64bitマシンだけど,
WineはWoWより32bit版の方がよさそう(独自調べ)なので32bitでコンパイル.
わりと大きなソフトもちゃんと動くのね,と感心するなど.
ソースコードはこんな感じ.{{ref EdgeDetect.java}}
Imgproc.Canny(dest_img, canny_img, 50, 200);
Imgproc.cvtColor(canny_img, canny_bgr_img, Imgproc.COLOR_GRAY2BGR);
で,Cannyを使ってエッジ検出して白黒化.
canny_color_img.copyTo(webcam_image, canny_bgr_img);
として,canny_bgr_imgの黒じゃない部分にだけ,
webcam_imageの上にcanny_color_imgを上書き.
自分の顔を撮像してみるのも,結構楽しい.
{{ref_image my_face_canny.png}}
ちなみに,MacOSXだと,-Djava.library.pathの指定が必要.
java -cp /usr/local/share/OpenCV/java/opencv-310.jar:. \
-Djava.library.path=/usr/local/share/OpenCV/java/ \
EdgeDetect
とか.
!片付け
部屋の片付け.
正しい仕事は正しい部屋から...正しい部屋って何だろう?