#导入两个库
import cv2
import dlib
# 打开摄像头,选择系统自带摄像头```\
cap=cv2.VideoCapture(0,cv2.CAP_DSHOW)
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()
```
请问应当如何处理此问题
先用这个找到你的摄像头再说
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))