Armadillo-640:OpenCVを使ってみる
では、画像処理結果をbmpファイルに出力していましたが、
ここでは、Armadillo-640で、OpenCVの画像処理結果をネットワーク経由で確認できるようにしてみます。
1.Armadillo-640で、OpenCVを使えるようにします
Armadillo-640:OpenCVを使ってみる
を参考に、OpenCVが動作することを確認しておきます。
2.ネットワーク経由で画像が見えるようにします
ここでは、mjpg-streamerを使って、ネットワーク経由で、PCのWebブラウザで画像が見えるようにします。
Armadillo-640:USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法
を参考に、Armadillo-640に接続されたUSBカメラの画像がPCのWebブラウザから見えることを確認しておきます。
(上記の"1.Armadillo-640で、OpenCVを使えるようにします"の手順と重複している手順は省略して問題ありません。)
3.OpenCVの画像処理結果をJPEGで出力するサンプルのビルド
今回は、以下のHowTo
Howto : Armadillo-810でOpenCVを用いた画像処理
のソースコードを、OpenCVの画像処理結果をJPEGで出力するようにしたものを使うことにします。
ネットワーク/USBメモリ経由などで、サンプルソース
edge-detection-yuyv-opencv-jpg.tar.gz
をArmadillo-640上にコピーしたあと、以下のようにビルドしてください。
root@armadillo:~# ls
edge-detection-yuyv-opencv-jpg.tar.gz
root@armadillo:~# tar zxvf edge-detection-yuyv-opencv-jpg.tar.gz
edge-detection-yuyv-opencv-jpg/
edge-detection-yuyv-opencv-jpg/Makefile
edge-detection-yuyv-opencv-jpg/edge-detection-jpg.c
root@armadillo:~# cd edge-detection-yuyv-opencv-jpg/
root@armadillo:~/edge-detection-yuyv-opencv-jpg# make
cc -c -o edge-detection-jpg.o edge-detection-jpg.c
cc -o edge-detection-jpg edge-detection-jpg.o -lopencv_core -lopencv_highgui -lopencv_imgproc -lm
5.OpenCVの画像処理結果をネットワーク経由で確認
OpenCVの画像処理結果をJPEGで出力するサンプルを実行します。
root@armadillo:~/edge-detection-yuyv-opencv-jpg# ./edge-detection-jpg 0 &
OpenCVの画像処理結果は、/var/tmpにJPEGで出力されます。
mjpg_streamerを実行します。
(プロンプトは省略してます。)
mjpg_streamer -i "/usr/local/lib/input_file.so -f /var/tmp" -o "/usr/local/lib/output_http.so --www /usr/local/www"
mjpg_streamer実行後、PCのWebブラウザで、
http://[ArmadilloのIPアドレス]:8080
を指定すると、mjpg-streamerの画面が開くので、左帯のStreamを選択すると
Armadllo-640の/var/tmpにあるOpenCVの画像処理結果のJPEGファイルが見えます。