ブログ

Armadillo-640:OpenCVの画像処理結果をネットワーク経由で確認する

at_kazutaka.bito
2019年8月5日 10時07分

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ファイルが見えます。