トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2016-4-24の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!続・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
とか.
!片付け
部屋の片付け.
正しい仕事は正しい部屋から...正しい部屋って何だろう?