【问题标题】:Camera not working when using OpenCV (python)使用 OpenCV(python)时相机不工作
【发布时间】:2021-09-18 04:58:51
【问题描述】:

当我尝试在 OpenCV 中使用我的网络摄像头时,它只会打开一个灰色框。

这是一张图片:

代码如下:

import cv2

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

while True:
    success, img = cap.read()
    cv2.imshow("Video", img)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

这是错误信息:

C:\Users\REDACTED\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/REDACTED/Desktop/test/test.py
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-ck70ajc5\opencv\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

我将如何解决这个问题并让我的实际网络摄像头显示?

【问题讨论】:

  • cap = cv2.VideoCapture(0) *

标签: python opencv-python


【解决方案1】:

正如@Rashid 提到的,您的相机索引看起来不正确,否则代码很好。如果您的相机索引不按顺序排列,您可以使用以下代码找到它们:

 import cv2

 def CameraIndexes():
     # Cam indexes limit, that you would like to check? .
     index = 0
     arr = []
     iter_idx = 10
     while iter_idx > 0:
         cap = cv2.VideoCapture(index)
         if cap.read()[0]:
             arr.append(index)
             cap.release()
         index += 1
         iter_idx -= 1
     return arr

 print("\n\nCamera Indexes: ", CameraIndexes())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2012-10-05
    • 2015-10-07
    • 1970-01-01
    相关资源
    最近更新 更多