Raspberry Pi に USB Camera をつないで、フェイストラッキングや映像ストリーミング、カラートラッキングをやってみた。
まず、カメラの動作確認。
動作確認には、guvcview を使用した。
Raspberry Pi + LOGICOOL C270の組み合わせで動いた。
ここを参考にさせてもらった。
・Setting up my Raspberry Pi and a Logitech C270 webcam
インストールはこんな感じ
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install guvcview
Raspberry Pi + Digio2 UVCカメラの組み合わせで動いた。
これはなかなか良いかも。
Raspberry Pi + iBUFFALO BSW20KM05SVも動いた。
UVC対応カメラなら大体は大丈夫みたいだ。
Raspberry Pi + ELECOM UCAM-DLN130TWHも動いた。
手元にあるUVC対応カメラは一通り試したが全部OKだった。
Raspberry PIでUSBカメラの動作確認はできた。
今度はこれみたいなフェイストラッキングをやってみたい。
・Real time face detection using Raspberry PI
これもおもしろそう。いつか試す。
・Raspberry Pi OpenCV Pan & Tilt Face Tracker
OpenCV+Pythonでフェイストラッキングをやってみた。
ここを参考にさせてもらった。
・How to easily install OpenCV on Raspberry Pi
やったのはこんな感じ。
sudo apt-get install python-opencv
python facedetect.py --cascade=face.xml 0
検出時間は500ms~600msぐらい。
少しパラメータを変えたら200msぐらいにはなった。
WebCamの映像ストリーミングをやってみた。
ここを参考にさせてもらった。
・Raspberry Pi から Android へ Web Cam 映像ストリーミング
起動時に”failed to start”になるが、Google Chromeで開いたらちゃんと出ていた。
ただし、数分動かすと映像が止まる。
Raspberry Pi側が悪いのか、Google Chrome側が悪いのかは調べていない。
―――> 色々実験したが、Google Chrome側に問題がありそうだ。
これではQVGAで15fps出てるらしい...。何か設定が違うのかな...
・Raspberry pi and logitech C170
OpenCV+Pythonでカラートラッキングをやってみた。
ここを参考にさせてもらった。
コメント欄の一番下の方にある修正が2箇所必要だった。
34行目
修正前:moments = cv.Moments(thresholded_img, 0)
修正後:moments = cv.Moments(cv.GetMat(thresholded_img,1), 0)
49行目
修正前:cv.Circle(overlay, (x, y), 2, (255, 255, 255), 20)
修正後:cv.Circle(img, (int(x), int(y)), 2, (255, 255, 255), 20)
これに少し手を加えて、カラーボールのトラッキングをやってみた。
動画はこちら。
カラートラッキングの閾値を決める時、これが便利。
―以上ー
関連する記事
・Raspberry Piにいろいろなマイコンボードをつないでみた。
今使ったソースを探してみたんですが、もう1年以上も前で、その間にOSを入れ替えたりしたので行方不明です。
すみません。
こちらがオリジナルですのでこちらを参照ください。
”OpenCV/Python Color Tracking”
何度もOSから直しても駄目ですね?ハード的に駄目なのか?と思います。
ちなみに、画像サイズを320x240とかに小さくしてもダメですか?