Python
OpenCV
RaspberryPi

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

More than 3 years have passed since last update.

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