用opencv调用笔记本摄像头黑屏?

opencv版本是4.7,如下


opencv-python             4.7.0.68                 pypi_0    pypi

网络搜的调用笔记本摄像头代码,如下

import cv2

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
while (1):
    ret, frame = cap.read()
    cv2.imshow('opencvCut', frame)
    if cv2.waitKey(100) == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

出现的问题:run模式出现的是黑屏,debug就是正常显示。

该如何处理,具体问题出在哪里了?

run模式显示:

img

debug模式显示:

img

可以参考http://t.csdn.cn/hm6Hl


    cam = cv.VideoCapture(0, cv.CAP_DSHOW)  # 修改 API 设置为视频输入 DirectShow
    while cam.isOpened():  # 检查视频捕获是否成功
        success, frame = cam.read()  # 读取下一帧视频图像
        if success is True:
            cv.imshow('vedio', frame)  # 播放视频图像
            key = cv.waitKey(1) & 0xFF  # 接收键盘输入
            if key == ord('q'):  # 按 'q' 键结束录制视频
                break
        else:
            print("Can't receive frame.")
            break