[英]Get Live Stream from a Camera connected via usb using python
我想從通過 USB 與我的計算機連接的相機中獲取實時圖像。
我正在使用帶有 usb 端口的工業相機。
在設備管理器中,相機會顯示其名稱和 ID,因此我認為它已連接到 PC。
我運行了一個“findcam”程序,但它沒有顯示任何相機的存在
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
cv2.imshow('Live Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我嘗試的給定代碼正在我的筆記本電腦上為網絡攝像頭運行,但是當我在帶有外部攝像頭的 PC 上運行相同的代碼時。
它不斷顯示錯誤。
錯誤:
Traceback (most recent call last):
File "C:/Users/Admin/PycharmProjects/industrialcamera/ICvideocapture.py", line 11, in <module>
cv2.imshow('Live Video', frame)
cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
我嘗試更改 Index -1, 0, 1 但錯誤是恆定的
請幫助查找,天氣是我的 PC 問題或相機問題,還是他們的任何其他流式傳輸方式(在 python 中)
謝謝你
我在我的電腦上啟動了你的代碼,它運行良好。 嘗試手動設置相機分辨率,如果size.width
和size.height
有錯誤,如下所示:
cap = cv2.VideoCapture(0)
cap.set(3,1280)
cap.set(4,920)
您可能安裝了不支持視頻的錯誤版本的 OpenCV。 卸載 opencv 的所有內容,然后運行:
pip install opencv-python
嘗試通過 pip 安裝opencv-contrib-python
: pip install opencv-contrib-python
或者嘗試升級它的版本: pip install opencv-python --upgrade
您可以通過檢查 ret 值進行調試:
import cv2
cap = cv2.VideoCapture(0)
counter = 0
while True:.
ret, frame = cap.read()
if ret :
cv2.imshow('Live Video', frame)
print(f" frame {counter} : ok ")
if not ret :
print(f" frame {counter} : ...")
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.