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])
我正在使用此函数(在 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])