python-opencv保存视频失败
  0oX16NTphRVc 2023年11月02日 47 0
四、视频保存失败的原因
 多数是因为编码或者视频的宽度和写入的frame宽度不同,导致写入失败。因此,最好使用输入视频的编码(fourcc),视频的宽度也要设置对。不知道处理后的图片的大小,那就打印下图片的大小就行了,保存视频时,视频的大小要和图片的大小一致。python-opencv写视频几个步骤: fourcc = cv2.VideoWriter_fourcc(*‘DIVX’) out =
 cv2.VideoWriter(‘D:/GestureVideo/’+video_name, fourcc, 10, (640, 480))
 out.write(frame) out.release()bug1:代码生成exe文件后运行,保存的视频是0kb 网上说的opencv的dll文件放在exe同一目录,试了没用。
 将编码器从DIVX改成MJPG解决了问题,不知道为何。bug2:代码生成exe文件后运行,保存的视频不是0kb,但是打开时提示视频损坏 没有正确release(直接关闭dos窗口)。
bug3:视频文件无法读取,显示只有6kb 视频文件大小设置出了问题,可以先去查看读取的视频的属性,看它的宽和高,再设置w、h就没有问题了。

问题3:我设置视频长宽属性之后,打印并没有生效。导致保存是6kb。需要注意。

ret = cap.set(cv.CAP_PROP_FRAME_WIDTH, 500)
if not ret:
    print("Can't set cv.CAP_PROP_FRAME_WIDTH ...")
    exit()
ret = cap.set(cv.CAP_PROP_FRAME_HEIGHT, 800)
if not ret:
    print("Can't set CAP_PROP_FRAME_HEIGHT ...")
    exit()
print(cap.get(cv.CAP_PROP_FPS), cap.get(cv.CAP_PROP_FRAME_HEIGHT), cap.get(cv.CAP_PROP_FRAME_WIDTH))

0.0 480.0 640.0
打印一直都是480 640。设置的时候,需要设置成480.0 640.0

out = cv.VideoWriter('output.avi', fourcc, 20.0, (640, 480))


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   104   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   72   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   39   0   0 Python
0oX16NTphRVc