cv2.VideoWriter() returns 奇怪的视频

cv2.VideoWriter() returns strange video

我正在使用此函数(在 class 内)将一组图像保存到视频中。尽管程序 运行 没有错误,但最终我得到的视频不是预期的。它有条纹效果,即使当我单独打印图像时一切正常。

def saveVideo(self):
        import cv2
        out = cv2.VideoWriter("output.mp4", cv2.VideoWriter_fourcc(*'mp4v'), self.fps, (160, 122), 0)
        for i in range(0, len(self.images)):
            out.write(self.images[i])
        out.release()

更新:发生的情况是视频中的图像看起来像拉伸、翻转的原始图像,并且中间有黑条。一定是视频形状有问题,我解决不了。

我想试试

fourcc = cv2.VideoWriter_fourcc(*'XVID')

而不是

cv2.VideoWriter_fourcc(*'mp4v')

这么喜欢

fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter("output.mp4", fourcc, self.fps, (160, 122), 0)

您尝试过将图像转换为 uint8 吗?尝试:

np.uint8(self.images[i])