我有一个RGB图像,我想选择红色,绿色和蓝色的前n%进行伽玛校正,而其他像素保持不变。
如何在Linux上的版本6.7.8-9的ImageMagick中进行操作?
答案 0 :(得分:2)
我建议使用ImageMagick的FX隔离有问题的像素。
正如Mark在评论中指出的那样,我们并不真正理解以下要求。
选择红色,绿色和蓝色的前n%
这可能意味着什么。我想您的定位目标是低值或低像素强度。我将为后者展示一个例子。对我来说,这对于调整动态范围较差的图像的伽玛值更有意义。
给出具有随机n%
值的图像。
convert -size 250x250 plasma: 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
对于给定的图像,将其克隆并应用伽玛校正。使用先前生成的蒙版设置Alpha /透明度,并在原始图像上进行合成。
convert plasma.png \( \
+clone -gamma 1.6 \
-compose copy_opacity mask.png -composite \
\) \
-compose ATop -composite output.png