opencv无法读取视频cpp:182: error: (-215:Assertion failed) !_src.empty()

问题遇到的现象和发生背景

读取视频时报错cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

问题相关代码,请勿粘贴截图

代码如下:
import cv2
import cvzone

cap = cv2.VideoCapture('Videos/vid(1).mp4')

while True:
success, img = cap.read()
cv2.imshow("Image", img)
cv2.waitKey(1)

运行结果及报错内容

报错:cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

我的解答思路和尝试过的方法

搜了一下说是路径有中文的问题,但是看了一下并没有中文啊?
我是直接把文件夹放在项目里面的,看教学视频里能正常读取但是我这里就报错了

img

我想要达到的结果

请问如何才能正确读取

报错是因为视频里的所有帧都遍历显示完了,导致 img=None。修改如下:


import cv2
# import cvzone

cap = cv2.VideoCapture('Videos/vid(1).mp4')

while True:
    success, img = cap.read()
    if img is None:
        break
    cv2.imshow("Image", img)
    cv2.waitKey(1)

cv2.waitKey(0)

把你的MP4里面的括号去掉,看着像中文的括号,最好除了下划线和.外不要带其他的符号