ImageMagick-部分伽玛校正

时间:2018-09-20 07:52:03

标签: imagemagick

我有一个RGB图像,我想选择红色,绿色和蓝色的前n%进行伽玛校正,而其他像素保持不变。

如何在Linux上的版本6.7.8-9的ImageMagick中进行操作?

1 个答案:

答案 0 :(得分:2)

我建议使用ImageMagick的FX隔离有问题的像素。

正如Mark在评论中指出的那样,我们并不真正理解以下要求。

  

选择红色,绿色和蓝色的前n%

这可能意味着什么。我想您的定位目标是低值或低像素强度。我将为后者展示一个例子。对我来说,这对于调整动态范围较差的图像的伽玛值更有意义。

给出具有随机n%值的图像。

convert -size 250x250 plasma: plasma.png

plasma.png

通过隔离要定位的像素来创建图像遮罩,并将其设置为WHITE。使用BLACK忽略像素。

convert plasma.png -fx 'intensity<0.4?1:0' -blur 1x3 mask.png
# Or use threshold, as pointed out in the comments.
convert plasma.png -threshold 40% -negate -blur 1x3 mask.png

mask.png

对于给定的图像,将其克隆并应用伽玛校正。使用先前生成的蒙版设置Alpha /透明度,并在原始图像上进行合成。

convert plasma.png \( \
       +clone -gamma 1.6 \
       -compose copy_opacity mask.png -composite \
     \) \
     -compose ATop -composite  output.png

output.png