Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 为什么我会遇到_cv2的src.empty()错误?_Python_Python 3.x_Opencv_Cv2 - Fatal编程技术网

Python 为什么我会遇到_cv2的src.empty()错误?

Python 为什么我会遇到_cv2的src.empty()错误?,python,python-3.x,opencv,cv2,Python,Python 3.x,Opencv,Cv2,我不断遇到错误: [ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-wvn_it83\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback Traceback (most recent call last):

我不断遇到错误:

[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-wvn_it83\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
Traceback (most recent call last):
  File "C:\Users\Home\PycharmProjects\handtracking\HandTrackingModule.py", line 60, in <module>
    main()
  File "C:\Users\Home\PycharmProjects\handtracking\HandTrackingModule.py", line 47, in main
    img = detector.findHands(img)
  File "C:\Users\Home\PycharmProjects\handtracking\HandTrackingModule.py", line 19, in findHands
    imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-wvn_it83\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
这意味着成功返回的img,img=cap.read为None,也意味着返回的成功为False

如果你的电脑内置了网络摄像头,你可以试试cap=cv2.VideoCapture0。如果没有,您可以尝试将视频文件的路径传递到括号中,如

cap = cv2.VideoCapture("C:/Users/Username/Desktop/video.mp4")

最后,如果您试图访问的是外部网络摄像头/摄像头,则可以查看。

错误显示cv::cvtColor不接受空图像作为输入。您应该检查cap.read.try cap=cv2.VideoCapture0的结果如果您只有一个摄像头,它通常是设备nr 0
cap = cv2.VideoCapture("C:/Users/Username/Desktop/video.mp4")