2017-01-23 16 views
0

私は外部のウェブカメラ(Microsoft Cinema HD Lifecam)でOS XでopenCVを使用していますが、最も簡単なカメラの読み取りコードでもその性能は非常に低くなっています。OpenCV + OS X +外部ウェブカメラ=非常に遅い

import cv2 
cap = cv2.VideoCapture(1) 

while(cap.isOpened()): 
    ret, frame = cap.read() 
    cv2.imshow("Output", frame) 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

cap.release() 
cv2.destroyAllWindows() 

私はフォトブースと同じウェブカメラを試してみましたが、それが高いFPSでうまく動作します。また、私のMacの内蔵のFacetimeカメラと同じコードを試して、それはかなり速く働いた。ですから、私はOpenCVで何らかの設定問題があるようです。

誰かがこのようなことを体験したことはありますか? あなたの答えをありがとう。

+0

*「高FPS」*とは何ですか?「非常に遅い」*とは何ですか?また、Ivanの答えについてのあなたのコメントには、6.2秒かかるものはありますか? 1つのフレーム? 11.4秒かかるのは何ですか? 1つのフレーム? OpenCVはどのようにインストールしましたか? –

答えて

0

特定のリーダーの実装を強制しようとします。hereを参照してください。 CAP_QTとCAP_AVFOUNDATIONを試すオプションは、hereです。 OpenCVはリーダの実装をサポートするために構築されなければならないことに注意してください。

+0

内蔵のウェブカメラを搭載した6.2s 11.4sと外部カメラ –

1

私の問題を解決できるようです。 私はカメラの解像度を下げなければなりませんでした。

cap = cv2.VideoCapture(0) 
cap.set(3,640) 
cap.set(4,480) 

私は写真ブースが速度や読み出しを高めるために、自動的に解像度を設定し、しかし、1はOpenCVの中でこれを手動で設定することがあると思います。この説明の正確さが厳しいかどうかはわかりません。