我写了一个简单的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()的任何切换到笔记本电脑网络摄像头时,它也可以工作。只是当我的两个网络摄像头都在外部时,我都会遇到该错误。