我使用下面的代碼,但我得到一個黑色的圖像。你能幫我糾正錯誤嗎?Webcam + Open CV Python |黑屏
import cv2
import numpy as np
c = cv2.VideoCapture(0)
while(1):
_,f = c.read()
cv2.imshow('e2',f)
if cv2.waitKey(5)==27:
break
cv2.destroyAllWindows()
我使用下面的代碼,但我得到一個黑色的圖像。你能幫我糾正錯誤嗎?Webcam + Open CV Python |黑屏
import cv2
import numpy as np
c = cv2.VideoCapture(0)
while(1):
_,f = c.read()
cv2.imshow('e2',f)
if cv2.waitKey(5)==27:
break
cv2.destroyAllWindows()
試試這個:
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
儘管這是一個老帖子,這個答案可以幫助誰仍然面臨着同樣的問題的人。如果您有一個單個網絡攝像機但它呈現全部黑色,請使用cv2.VideoCapture(-1)
。這會讓你工作的相機。
這工作對我來說: 我做了一個pip安裝imutils。 Imutils是一個具有一系列便利功能的庫,可用於製作基本的圖像處理功能,例如翻譯,旋轉,調整大小,縮略圖,顯示Matplotlib圖像,排列輪廓,檢測邊緣,使用OpenCV以及Python 2.7和Python 3更容易。
import cv2
import imutils
cap = cv2.VideoCapture(0) # video capture source camera (Here webcam of laptop)
ret, frame = cap.read() # return a single frame in variable `frame`
while (True):
# gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
(grabbed, frame) = cap.read()
frame = imutils.resize(frame, width=400)
cv2.imshow('img1', frame) # display the captured image
if cv2.waitKey(1) & 0xFF == ord('q'): # save on pressing 'y'
cv2.imwrite('capture.png', frame)
cv2.destroyAllWindows()
break
cap.release()
只是將cv2.waitKey(0)
更改爲cv2.waitKey(30)
並且此問題將得到解決。
[使用網絡攝像頭與opencv python顯示黑屏w/waitkey()]可能重複(http://stackoverflow.com/questions/27948013/using-webcam-with-opencv-python-shows-a-black -screen-w-waitkey) – rayryeng
請檢查c.isOpened() – berak