2014年4月5日土曜日

Raspberry Pi camera boardをOpenCVから使う準備

Pi Cameraは少しインストール作業をしないとOpenCVからは直接使えないようだ。残念。USBカメラの場合はすぐに使えるようだが。

2つのライブラリを試したのでちょっとその過程をメモしておこう。

RaspiCamその1

に書いてることにしたがって、ソースをコンパイルする。
READMEにものすごく詳しく書いてあって初心者でも簡単にインストール作業ができる。

これを導入するといつもOpenCVで使う関数名を少し変えるだけでPi Cameraが使える。
具体的には以下のような対応になっているようだ。
cvCreateCameraCapture → raspiCamCvCreateCameraCapture
cvQueryFrame → raspiCamCvQueryFrame
CvCapture → RaspiCamCvCapture

に書いてあるけど、解像度の変更は今のところできないらしい。 サイトにあるサンプルプログラムを走らせて見たけど、色が何かおかしい… 明らかにraspistillコマンドで吐き出した写真とは色が違う。(緑っぽい) 色の設定とかしたら治るんかな? 今日はここまでで保留。
コンパイルオプションをメモっておく。(makeはこれから勉強します)

g++ test.cpp -I/home/pi/git/robidouille/raspicam_cv -L/home/pi/git/robidouille/raspicam_cv -lraspicamcv -L/home/pi/git/raspberrypi/userland/build/lib -lmmal_core -lmmal -l mmal_util -lvcos -lbcm_host `pkg-config --cflags opencv` `pkg-config --libs opencv`


RaspiCam その2

http://www.uco.es/investiga/grupos/ava/node/40
おなじ名前のライブラリだ。同じものではないようだ。
こっちはOpenCVを使わなくても使えるもののようだ。
こちらも導入は手順通りでよかった。

ただ、自分の作ったサンプルをコンパイルするところで-lmmalがないとか言われた。
http://www.raspberrypi.org/forums/viewtopic.php?f=33&t=67381
ここに書いてあるけど、-L/opt/vc/libが足りないようだ。
とりあえずコンパイルコマンドをメモ。

g++ simpletest_raspicam_cv.cpp -o simpletest_raspicam_cv -I/usr/local/include/ -lraspicam -lraspicam_cv -lmmal -lmmal_core -lmmal_util -lopencv_core -lopencv_highgui -L/opt/vc/lib


無事に動いて写真をとることができた。
写真が1chのときは30FPSくらいでたけど、3chにすると6FPSくらいだった。



ところで、緑っぽい画像はどうやらどっちでとっても同じのようだ。
試しにもう一度raspisillをやってみたところ、raspistillは最後に画像処理でホワイトバランスを調整しているようだ。(コマンドを実行すると最後に調整が入っているのが分かる)
とりあえず白黒でことはたりるけど、この辺は簡単に補正する方法とかあるんかな?









0 件のコメント:

コメントを投稿