使用外部网络摄像头同时运行两个VideoCapture

时间:2018-08-12 17:37:37

标签: python opencv

我写了一个简单的python代码,它可以在我的PC上运行,当我尝试在笔记本电脑上运行它时出现错误。我在两个窗口中都使用Windows 7,并且已经使用USB-2连接2个网络摄像头,它们是iLook300。我的笔记本电脑中也有一个摄像头。我的两个窗口都已更新。我在设备管理器中检查了硬件,并且所有硬件都已安装。我的代码及其错误附在下面。

代码

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
cap1 = cv2.VideoCapture(1)


while(True):
    ret, frame = cap.read()
    ret1, frame1 = cap1.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    cv2.imshow('frame1',gray1)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cap1.release()
cv2.destroyAllWindows()

错误

 Traceback (most recent call last)

<ipython-input-2-d30c09599f7a> in <module>()
      9     ret, frame = cap.read()
     10     ret1, frame1 = cap1.read()
---> 11     gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
     12     gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
     13 

error: C:\bld\opencv_1498157567167\work\opencv-3.2.0\modules\imgproc\src\color.cpp:9748: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

需要特别注意的是,当我将VideoCapture()的任何切换到笔记本电脑网络摄像头时,它也可以工作。只是当我的两个网络摄像头都在外部时,我都会遇到该错误。

0 个答案:

没有答案