Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV在Windows 10上找不到用于网络摄像头或显示的视频捕获_Python_Opencv_Webcam_Capture - Fatal编程技术网

Python OpenCV在Windows 10上找不到用于网络摄像头或显示的视频捕获

Python OpenCV在Windows 10上找不到用于网络摄像头或显示的视频捕获,python,opencv,webcam,capture,Python,Opencv,Webcam,Capture,读取数据时,网络摄像头捕获不显示 我尝试了video\u capture=cv2.VideoCapture()方法,将0和700作为参数,因为有人提出建议,结果发生了: 0表示错误;CvCapture_MSMF::抓取帧视频IO(MSMF):无法抓取帧 700给出一个空白屏幕,只有第一行像素被填充 video\u capture=cv2.VideoCapture(700)仅当我调试并在cv2.imshow处设置断点(“捕获”,灰色)时才起作用。屏幕显示网络摄像头视频的快照,但运行时显示下图

读取数据时,网络摄像头捕获不显示

我尝试了
video\u capture=cv2.VideoCapture()
方法,将0和700作为参数,因为有人提出建议,结果发生了:

  • 0表示错误;CvCapture_MSMF::抓取帧视频IO(MSMF):无法抓取帧
  • 700给出一个空白屏幕,只有第一行像素被填充
  • video\u capture=cv2.VideoCapture(700)
    仅当我调试并在cv2.imshow处设置断点(“捕获”,灰色)时才起作用。屏幕显示网络摄像头视频的快照,但运行时显示下图
  • 我在我的mac电脑上试用了相同的python文件,效果非常好。Windows 10有点问题,我想不出来
=======

import cv2

# Create an object. 700 for my external camera
video_capture = cv2.VideoCapture(700)
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH,640)
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT,480)

faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')


while True:

    ret, frame = video_capture.read()

    #Check if the video is being read
    if ret == False:
        print("Connection Failed!")
    else:

        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        faces = faceCascade.detectMultiScale(
            gray,
            scaleFactor=1.1,
            minNeighbors=5,
            minSize=(30, 30),
            flags=cv2.CASCADE_SCALE_IMAGE
        )

        # Draw a rectangle around the faces
        for (x, y, w, h) in faces:
            cv2.rectangle(gray, (x, y), (x+w, y+h), (0, 255, 0), 2)

        # Display the resulting frame
        cv2.imshow('Video', gray)
        
        if cv2.waitKey(1)==ord('e'):
            break

video_capture.release()
cv2.destroyAllWindows()

卡巴斯基似乎在运行代码的终端上阻止了我的实时网络摄像头捕获,所以我启用了pycharm,并使用Python控制台运行。现在一切正常。
卡巴斯基似乎在运行代码的终端上阻止了我的实时网络摄像头捕获,所以我启用了pycharm,并使用Python控制台运行。现在一切正常。

我可以建议您尝试
video=cv2.VideoCapture(-1)
。我也尝试了-1,但它没有连接。请检查
video.isOpened()
它是真是假。video.isOpened()结果为True,在调试期间,我可以看到视频捕获的冻结图像。您的程序在哪一行代码处停止运行?我建议您尝试
video=cv2.VideoCapture(-1)
。我也尝试了-1,但它没有连接。检查
video.isOpened()
它是真是假。video.isOpened()结果为True,在调试时,我可以看到视频捕获的冻结图像。您的程序在哪一行代码处停止运行?