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

请问应当如何处理此问题

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

 
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))