0
システムパラメータ:Windows 8.1、Python 2.7.13、OpenCV 3.2.0.7Python OpenCVはウェブカメラキャプチャで黒い画面を表示します
このコードは正常に動作します。
import numpy as np
import cv2
import time
cap = cv2.VideoCapture('tmp.avi')
while(True):
ret, frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()
しかし、私は、Webカメラから画像を取得しようとすると、RETがTrueですが、私はいつも黒い画面を参照してください:私はグラブを使用しようとした
import numpy as np
import cv2
import time
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
if not ret: continue
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()
私はaviファイルや.MP4動画を試してみましたreadメソッドの代わりにメソッドを取得するので、grabはTrueを返しますが、retrieveはfalseを返します。
import numpy as np
import cv2
import time
cap = cv2.VideoCapture(0)
while(True):
if not cap.grab(): break
ret, frame = cap.retrieve()
if not ret: continue
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()
最後のコードは動画で問題ありません。
Windowsカメラソフトが正常に動作するため、ウェブカメラは問題ありません。
私はOpenCVを再インストールしようとしましたが、それは役に立ちませんでした。
何が問題ですか? readメソッドがTrueを返しても、retrieveメソッドがFalseを返すのはなぜですか?
'cv2.VideoCapture(0)'はあなたのウェブカムですか?可能であれば 'cv2.VideoCapture(1)'を試してください –
私はそれが0であると確信しています – Sergey
'print {{x {}}。format(cap.get(3)、cap.get(4))'有効かどうかを調べる幅と高さ。 –