USBカメラをつないでみる
世の中にごまんとブログはあるので、適当に参考にする。
(35連休)4日目:Raspberry Pi(OpenCVのインストール〜リアルタイム顔認識) - hsuetsugu’s diary
OpenCVをapt-getする。結構大きいな。。。。
luvcviewもあっけなく動作したので、まずはUSBカメラの動作検証までは完了。
次は、OpenCVで1フレームごとのキャプチャする。これも世の中にごまんとコードがある。ここで、はまった。python-opencvをインストールしても、またしてもpython3では動作しない。python2.7では動作する。
どうやら以下のブログを読むとそもそもOpenCVそのものが ver2ではpython2.7しかサポートしていなかったらしい。よって、OpenCV3をpython3にバインドする、ということを自前でやる必要がある。
できなくもないが、そこまでしてpython3に拘っても面倒なので、ここはpython2.7であきらめることにする。そのうちだれかaptパッケージで用意してくれるさ。
ページ先頭のブログのサンプルをpython2.7で実行すると、以下のような予想外のエラーが出る。どうもVNC接続をしている先に表示できない。
あたっていた。HDMI画面には普通に表示できた。まあVNCでOpenGLは無理だから、cv.NamedWindow() で作るウインドウの調整でなんとかできるか試してみる。おかしい。cv.NamedWindow() は引数に明示しない限りOpenGL使わないはずだが、引数なしのデフォルトでも失敗。
仕方ないので、以下を参考にしてなつかしのMESAを入れる。まさかこの期に及んでMESAのお世話になるとは。
Raspberry PiにOpenCVを導入してキャプチャするまでと、トラブルシューティング - Qiita
あれ? MESAはすでに入っていた。ということはこれでは解決しない?
以下のブログで同様のトラブルをx11vncを使って回避している。
OpenCVとTightvncサーバー - 満腹居士 七転八倒の記
せっかくTightVNC serverを自動起動するようにしてあるが、いったんそれをOFFにしておき、x11vncを自動起動させる。
Raspberry Piでリモート操作できるようにするメモ – 1ft-seabass.jp.MEMO
/home/pi/
.config
/autostart/x11vnc
.desktop を準備した。よし自動起動成功。
あれ? vncでキーリピートしない。
Sakura/VPS/x11vnc - Home Server Journal
では「x11vnc -repeatで成功」と言っているのでやってみる。成功。