我希望能够处理来自.mxf视频文件的帧。该视频的图像格式是JPEG 2000,使用了4:2:2次采样和无损压缩的YUV颜色空间。
我的意图是使用ffmpeg从这个视频中提取帧。然后,提取的帧将在Matlab中进行处理(目前我对进行着色感兴趣)。
我想提取尽可能少的数据丢失的帧,我想工作在YUV的颜色空间。我知道PNG涉及一个无损的过程,但只涉及RGB颜色空间-所以不是一个选项。
我认为我可以在YUV颜色空间中提取jpeg2000帧,但我不确定是否正在丢失压缩过程中的数据。我在ffmpeg中尝试了以下代码:
-i video.mxf -r 1/5 out%03d.jp2
..。然而,提取的jp2文件在各种软件中都是不可读的,包括专门的JPEG 2000软件HiView。
问题1:这种jpeg 2000提取方法是无损的吗?我做错了什么?
我还考虑了提取图像的tiff格式,我可以达到YUV和无损的要求。我在ffmpeg中尝试了以下代码:
-i video.mxf -vcodec tiff f%10d.tif
..。然而,提取的tiff文件在软件中是不可读的,例如photo、paint.net和windows照片查看器。
问题2:这种提物提取方法正确吗?我做错了什么?
问题3:什么是理想的图像格式,涵盖我的YUV和无损要求?
发布于 2016-02-15 04:57:50
您需要使用可以导入YUV图像的图像编辑器,更重要的是,在YUV颜色空间中工作。如果不存在后一个特性,假设编辑器可以保存在YUV空间中,那么当您保存编辑的图像时,将有一个YUV -> RGB -> YUV往返,其中包含一些数据丢失。
您的TIFF提取似乎没有什么问题。这些都是YUV空间碎片,所以你的图像编辑不理解它们。
跑
ffplay f0000000001.tif以确认TIFF确实有效。
如果您找不到YUV编辑器,我建议您尝试免费的聚变 VFX应用程序或任何类似的视频组合应用程序。最坏的情况是,你可以像这样输出RGB数据,
ffmpeg -i video.mxf -pix_fmt rgb48le f%10d.tifPhotoshop可以打开这些,就像当前开发的GIMP的建房一样。
https://stackoverflow.com/questions/35399677
复制相似问题