环境:树莓派3 raspberry
代码片段:
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
faceCasecade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
while(True):
ret,frame = cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiscale(
gray,
scaleFactor=1.2,
minNeighbors = 5,
minSize = (30, 30)
)
print("Found {0} faces!".format(len(faces)))
for(x, y, w, h) in faces:
cv2.rectangele(frame,(x,y),(x+w,y+h),(0,255,0),2)
cv.inshow('frame',frame)
if cv2.waitKey(1)& 0xFF ==ord('q'):
break
cap.release()
cv2.destroyAllwindows()
报错:
Traceback (most recent call last):
File "/home/pi/Desktop/OPenCV/live.py", line 11, in
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(3.4.3) /home/pi/opencv-3.4.3/modules/imgproc/src/color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
如何解决
楼主这个问题解决了吗?我现在也遇到了同样的问题,还请楼主指点
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.0.0) /io/opencv/modules/imgproc/src/color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
File "/home/pi/OpenCV-Face-Recognition-master/FacialRecognition/dataset.py", line 32, in
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: /home/pi/Downloads/opencv-3.4.0/modules/imgproc/src/color.cpp:11111: error: (-215) scn == 3 || scn == 4 in function cvtColor
我的也是这样,困惑了好久,楼主你怎么解决的?
上面的同志们,你们如果实在ubuntu下面的话,可能是摄像头通信被占用,把devices中USB全部设置取消,再把Webcamera中的integrity camera选项勾选就好了。我是这么结局的,你们试一下。
请问解决了吗,我也是这个问题error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'