OPencv使用下cvtColor 出错

环境:树莓派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'