Tah*_*dın 7 python opencv python-3.x
我想从名为的视频创建帧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()
Run Code Online (Sandbox Code Playgroud)
错误是:
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'
Run Code Online (Sandbox Code Playgroud)
小智 10
原因可能是图像为空,因此,您应该在读取帧之前检查天气视频是否正确打开:cap.isOpened()。然后,执行后ret, frame = cap.read()检查ret变量值是否为 true,以确保正确抓取帧。
需要明确的代码:
cap = cv2.VideoCapture('project.avi')
if cap.isOpened():
current_frame = 0
while True:
ret, frame = cap.read()
if ret:
name = f'frameIn/frame{current_frame}.jpg'
print(f"Creating file... {name}")
cv2.imwrite(name, frame)
frames.append(name)
current_frame += 1
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
我希望它对你有帮助。
| 归档时间: |
|
| 查看次数: |
50473 次 |
| 最近记录: |