imagemagick - ffmpeg 中的自动级别

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

我一直在寻找一种解决方案来执行 ffmpeg 中的

magick -auto-level
的等效操作,但我找不到任何东西。有一些参考文献指出我应该首先使用 GIMP 等其他软件手动发现级别,但是,我正在寻找一种自动化且更简单的解决方案。有什么想法如何解决这个问题吗?

我尝试了以下方法 - 第一个增强了最初相当暗的图像,但第二个过度曝光,导致其大部分变成白色:

convert img.jpg -auto-level img2.jpg
ffmpeg -i img.jpg -vf "normalize" -y img2.jpg

注意:很抱歉我无法分享该图像,因为它受到隐私政策的限制

ffmpeg imagemagick
1个回答
0
投票

ffmpeg -vf normalize
是“过度曝光”您的图像,因为默认情况下它会独立标准化每个通道。因此,它总是会将最暗的输入颜色映射为黑色,将最亮的输入颜色映射为白色(或者可能映射为 RGB 原色/次色,具体取决于输入)。

使用

"normalize=independence=0"
会关闭独立性,并给出与
magick -auto-level
基本相同的结果。

magick -size 200x200  "gradient:thistle-lightslategrey" input.png

magick  input.png    -auto-level                     autolevel.png
ffmpeg -i input.png  -vf "normalize"                 ffmpeg-i1.png
ffmpeg -i input.png  -vf "normalize=independence=0"  ffmpeg-i0.png

4 gradient colour swatches

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