我有4096x2048分辨率的jpg图像。
我想把图像分割成偶数线。
图像像素坐标(1,1),(1,2).(1,4096)和(3,1),(3,2).(3,4096).都变成了奇数线图像。新的图像文件分辨率为4096x1024。
我搜索了很多code.But我找不到那种代码。
ffmpeg -i in.mp4 \
-filter_complex "[0]il=l=d:c=d,split[o][e];\
[o]crop=iw:ih/2:0:0[odd];\
[e]crop=iw:ih/2:0:ih/2[even]" \
-map "[odd]" -f rawvideo odd.yuv \
-map "[even]" -f rawvideo even.yuv这就是我所做的把图像(视频)分割成偶数的部分。
我怎么能做到呢?
发布于 2022-03-13 22:15:15
您发布的命令运行良好,只需更改格式即可。
您没有定义输出图像的格式。
我建议对输出图像使用PNG格式,而不是JPEG格式。
JPEG图像由于有损压缩而失去质量。
JPEG图像也在YUV420 pixel format中,因此色度通道是向下采样的.
我们可以使用以下命令:
ffmpeg -y -i in.jpg -filter_complex "[0]format=rgb24,il=l=d:c=d,split[o][e];[o]crop=iw:ih/2:0:0[odd];[e]crop=iw:ih/2:0:ih/2[even]" -map "[odd]" odd.png -map "[even]" even.png下面的命令更优雅一些(不使用l=d:c=d):
ffmpeg -y -i in.jpg -filter_complex "[0]format=rgb24,il=deinterleave,split[o][e];[o]crop=iw:ih/2:0:0[odd];[e]crop=iw:ih/2:0:ih/2[even]" -map "[odd]" odd.png -map "[even]" even.png样本输入in.jpg

输出:
odd.png

even.png

过滤器链开头的format=rgb24过滤器将输入像素格式从YUV420转换为RGB,然后再拆分为偶数和奇数。
它应该提高产量的质量,但它几乎是不引人注目的。
https://stackoverflow.com/questions/71455299
复制相似问题