我想创建帧从视频命名为project.avi
并将其保存到frameIn
文件夹。但有些类型的错误是不让我做的。我该怎么解决这个问题。代码如下:
cap = cv2.VideoCapture('project.avi')
currentFrame = 0
while(True):
ret, frame = cap.read()
name = 'frameIn/frame' + str(currentFrame) + '.jpg'
print ("Creating file... " + name)
cv2.imwrite(name, frame)
frames.append(name)
currentFrame += 1
cap.release()
cv2.destroyAllWindows()
字符串
错误是:
Traceback (most recent call last):
File "videoreader.py", line 28, in <module>
cv2.imwrite(name, frame)
cv2.error: OpenCV(4.4.0) /private/var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/pip-req-build-2rx9f0ng/opencv/modules/imgcodecs/src/loadsave.cpp:738: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'
型
2条答案
按热度按时间hpxqektj1#
原因可能是图像是空的,所以,您应该检查天气视频是正确打开之前读取帧:
cap.isOpened()
。然后,在执行ret, frame = cap.read()
之后,检查ret
变量值是否为true,以确保帧被正确抓取。要清除的代码:
字符串
希望对你有帮助。
raogr8fs2#
您提供的错误消息来自OpenCV的imwrite函数。它表示函数遇到Assert失败,因为输入image _img为空。
在您的代码片段中,似乎您正在尝试使用wget从URL下载图像,然后使用OpenCV的imwrite函数加载并保存它。但是,该错误表明无法正确下载或读取图像,导致图像为空。
错误消息还包括以下行:code->解析$image_url($image_url)...失败:名称或服务未知。这表明变量$image_url没有正确定义或解析为有效的URL。在wget命令中使用变量之前,请确保已为变量分配了有效的URL。
此外,在尝试使用OpenCV加载映像之前,请验证映像是否已成功下载,以及映像文件的路径是否正确。
如果您提供更多详细信息或共享相关代码片段,我可以帮助您进一步解决问题。