私はwebcam opencvとpythonから画像を取得しようとしています。コードは次のように基本的です:BeagleBone Black OpenCV Pythonが遅すぎる
import cv2
import time
cap=cv2.VideoCapture(0)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,640)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT,480)
cap.set(cv2.cv.CV_CAP_PROP_FPS, 20)
a=30
t=time.time()
while (a>0):
now=time.time()
print now-t
t=now
ret,frame=cap.read()
#Some processes
print a,ret
print frame.shape
a=a-1
k=cv2.waitKey(20)
if k==27:
break
cv2.destroyAllWindows()
しかし、それはゆっくりと機能します。プログラムの出力:
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
HIGHGUI ERROR: V4L: Property <unknown property string>(5) not supported by device
8.82148742676e-06
select timeout
30 True
(480, 640, 3)
2.10035800934
select timeout
29 True
(480, 640, 3)
2.06729602814
select timeout
28 True
(480, 640, 3)
2.07144904137
select timeout
構成:
- BeagleboneブラックREVC
- のDebian-wheezly
- OpenCVの2.4
- のpython 2.7
それはおそらく助けにはなりませんが、あなたは実際のCVものを行うためにOpenCVのを使用している場合、あなたはおそらく、あなたが使用しているOpenCVのは、NEON拡張に対してコンパイルされていることを確認したいです。 (google opencv beaglebone neonを実行すると便利な詳細が見つかるでしょう。たとえば、http://blog.lemoneerlabs.com/3rdParty/Darling_BBB_30fps_DRAFT.html) – Foon
"opencv 2.4" - より具体的にする必要があります。2.4 .xリリースのOpenCVは数年の間にリリースされました。 –