Python调用摄像头

img


Python怎么调用usb2.0这个摄像头,OpenCV的videocapture不行……

有可能是不同的COM口 试试下面的看那个有结果然后在调试


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

你先要看下驱动程序有没有问题,可以用vlc media player验证一下能不能识别到摄像头。

你的电脑貌似没有识别出这个摄像头诶,只识别出端口。还是说你是台式机

1.这个(0)为电脑内置摄像头,你这个摄像头不是集成的么
2.判断一下,看看读没读取摄像头while(True): ret, frame = capture.read() ;ret为是否成功打开摄像头。


import cv2
 
#获取摄像头
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)
#打开摄像头
cap.open(0)
 
while cap.isOpened():
    #获取画面
    flag, frame = cap.read()
 
    ######################画面处理1##########################
    #灰度图
    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
    frame = cv2.medianBlur(frame, 5)
    img_blur = cv2.GaussianBlur(frame, ksize=(21, 21),
                                sigmaX=0, sigmaY=0)
    frame = cv2.divide(frame, img_blur, scale=255)
 
    #画面显示
    cv2.imshow('mytest', frame)
    #设置退出按钮
    key_pressed = cv2.waitKey(100)
    print('单机窗口,输入按键,电脑按键为',key_pressed,'按esc键结束')
    if key_pressed == 27:
        break
 
#关闭摄像头
cap.release()
#关闭图像窗口
cv2.destroyAllWindows()

【环境不同,参考下是否可行】

您好,
capture = cv2.VideoCapture(index)
里边的index参数默认为0,表示默认摄像头。如果要切换摄像头,可以将Index参数改为1即可。

capture = cv2.VideoCapture(1)

不同的数字表示不同的摄像头。
如有帮助还请采纳。