2006010319张辰铭 2022-10-28 22:14 采纳率: 0%
浏览 14

OPENCV代码执行过程中,摄像头无法正常打开并且报错

在OPENCV代码执行过程中,摄像头无法正常打开并且报错
代码块如下
#导入两个库
import cv2
import dlib

# 打开摄像头,选择系统自带摄像头```\

cap=cv2.VideoCapture(0,cv2.CAP_DSHOW)

加载人脸检测模块 ,定义变量为detector

detector=dlib.get_frontal_face_detector()

#循环读取图像
while True:

#读取两个值,一个是是否读取成功,一个是图片信息
ret,img=cap.read()

#如果读取失败,跳出
if ret is None:
    break

#将读取图片变成灰度图片,用CV转换函数,COLOR_BGR2GRAY代表灰度
gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#检测人脸函数,此检测器face为导入函数的变量,1表示上采样(放大图片)
faces=detector(gray_img,1)
for face in faces:

    #左上x1,y1,右下x2,y2画长方形
    x1=face.left()
    y1=face.top()
    x2=face.right()
    y2=face.bottom()

    #画长方形,把坐标赋值,颜色用绿色
    cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)

    #显示图片
cv2.imshow("face",img)

#不停监听,
key=cv2.waitKey(1)

#按esc跳出
if key==27:
    break

#释放资源

cap.realease()

#关闭所有窗口
cv2.destroyAllWindows()

```

报错如下

img

请问应当如何处理此问题

  • 写回答

1条回答 默认 最新

  • Ko-walski 2022-10-28 22:38
    关注

    先用这个找到你的摄像头再说

     
    cams_test = 500
    for i in range(0, cams_test):
        cap = cv2.VideoCapture(i)
        test, frame = cap.read()
        if test:
            print("i : "+str(i)+" /// result: "+str(test))
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 10月28日
  • 修改了问题 10月28日
  • 创建了问题 10月28日