如何通过视频压缩工具处理float32数组并返回float32值?原生支持 float32 值的视频和图像格式

问题描述 投票:0回答:1

我有多个 float32 值数组,它们可能被解释为图像。他们按顺序进行。它们只是一个通道,并且不将自身限制在 [0,1] 范围内。

我想通过

ffmpeg
处理它们并用它们创建压缩视频。然后我想将它们解压缩为图像序列,或者也可能是浮点值的原始数组。

假设我有

RAWARRAYSFILE
具有给定尺寸的 float32 帧,我想将其转换为视频。在 ffmpeg 中有一个
pix_fmt gray32le
,我可以使用例如

将原始文件转换为视频
DIMX=3250
DIMY=2132
dd if=$RAWARRAYSFILE |  ffmpeg -y -framerate 30 -f rawvideo -s "${DIMX}x${DIMY}" -pix_fmt grayf32le  -i - vid.mp4

现在要恢复图像的顺序,我可以

ffmpeg -i vid.mp4 -pix_fmt grayf32le out/processed%05d.tif

但是,

vid.mp4
视频和
out/processed%05d.tif
都不是float32。是否有
ffmpeg
支持的格式可以原生支持 float32?

您是否知道任何本身支持 float32 值的图像格式? 您是否知道任何视频格式本身支持 float32 值?

linux bash image-processing ffmpeg video-compression
1个回答
0
投票

PFM 图像格式将静态图像存储为 32 位浮点像素。格式非常简单,您可以轻松编写自己的代码来读取/写入 PFM 文件。

这是创建具有浮动灰度的图像序列的示例:

ffmpeg -i vid.mp4 -pix_fmt grayf32le out/processed%05d.pfm

请注意,您需要使用

FFmpeg 4.4 or later
来处理 PFM 文件。

另一个可能的选项是

DPX
图像格式,它也支持小端32位浮点像素数据。

© www.soinside.com 2019 - 2024. All rights reserved.