gpt4 book ai didi

bash - 设置特定图像亮度

转载 作者:行者123 更新时间:2023-11-29 09:50:19 27 4
gpt4 key购买 nike

我会在一开始就解决这个问题:这可能是一个非常愚蠢的问题,它也可能属于不同的 SE,所以如果是这种情况请随时告诉我。

我有一堆图像,它们是灰度和绿色 channel 的合并。有些图像比其他图像暗得多,而其余图像则大致相同。

我想尽可能地“均匀化”图像集的亮度(不一定要完美)。

有谁知道是否有一种相当简单的方法来做到这一点?

这就是我目前正在考虑的方式,利用 ImageMagick(一些 bash 伪代码和实际代码,因为我在 OSX 上使用 CLI imagemagick,但其他解决方案会没问题):

第一步

读入我的一组“引用图像”,其亮度/灰度级别我可以接受,并获得平均灰度级别:

greyvals = ()
for file in an_array_of_image_files ; do
# get array of grey values
greyval=$(convert $file -colorspace Gray -format "%[mean]" info:)
greyvals+=$greyval

# average the greyvals of the reference set through some mean function.

第二步

这就是我真正的问题所在。有没有办法将图像调亮或调暗到指定的灰度级?

ImageMagick 提供了 modulate 功能,但我目前发现的示例需要百分比“增亮/变暗”,例如:

convert $file -modulate 200% ${file%.*}_bright.png

我是不是完全找错了树?


编辑

一些示例图片:

引用“足够亮”的图像:

enter image description here

“深色”图像示例:

enter image description here

直方图均衡图像 - 这看起来效果很好,但在某些区域引入了一些白色伪像。 enter image description here

最佳答案

使用 ImageMagick 7 我会考虑这种方法...

magick input.png -brightness-contrast %[fx:50-(mean*100)] output.png

这将调整每个输入图像,使整体平均亮度为 50%。使用 IM6,您可以使用这样的命令将所需的值放入变量中...

adjuster=`convert input.png -format %[fx:50-(mean*100)] info:`

然后使用该变量作为“-brightness-contrast”运算符的参数,在类似我上面的 IM7 示例的命令中,类似这样...

convert input.png -brightness-contrast $adjuster output.png

我还没有从 *nix 命令行对此进行测试,但这个概念应该可行。

关于bash - 设置特定图像亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50335759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com