Raspberry PiにOpenCVを導入してキャプチャするまでと、トラブルシューティング

  • 18
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Raspberry piにOpenCVを導入した時のメモ...

環境

  • Raspberry Pi B
  • Rasbian
  • Logicoolのwebカメラ

準備

※ある程度の環境構築は終わっているものとする...
pythonのnumpyなどの計算ライブラリを入れておく

$ sudo apt-get install python python-dev
$ sudo apt-get install python-numpy python-scipy python-matplotlib

OpenCVの導入

ビルドするのは面倒だし、時間がかかるのでapt-getで
この辺を参考にした
Raspberry Pi B+にOpenCV-Python環境を構築する
Install OpenCV and Python on your Raspberry Pi 2 and B+

$ sudo apt-get install libopencv-dev

Pythonのパッケージをapt-get

$ sudo apt-get install python-opencv

5分くらいで終わると思います。

キャプチャのソース

このソースで試した。

capture.py
#coding:utf-8
import cv2
color = (0, 2, 2)

def capture_camera(mirror=True, size=None):
    cap = cv2.VideoCapture(1)
    while True:
        ret, frame = cap.read()

        if mirror is True:
            frame = frame[:,::-1]

        if size is not None and len(size) == 2:
            frame = cv2.resize(frame, size)

        cv2.imshow('camera capture', frame)
        k = cv2.waitKey(1)
        if k == 27:
            break
        elif k== 'q':
            break

    cap.release()

    cv2.destroyAllWindows()

capture_camera()

さて動かそう

と思ったら

GdkGLExt-WARNING **: Window system doesn't support OpenGL.

のエラーメッセージ!
vncが原因かと思ったら違うらしい。

Fix

とりあえずこれで解決した。

sudo apt-get install libgl1-mesa-dri

そして

sudo reboot

無事動きました。
vnc上でも動作しました。

最後に

この辺を参考にしました。
RaspberryPiのカメラやOpenCVのトラブルについて
Troubleshooting