有什么简单的方法可以从红色通道中减去一个值?例如,假设一个像素具有RGB(140,30,50),我希望仅从红色通道中减去100,因此得到RGB(40,30,50)。我知道图像的发红度超过100,因此达到零应该没有任何问题。
我不熟悉Gimp,尽管我认为这也是可能的。还是有一个简单的ImageMagick命令可以完成这项工作?
答案 0 :(得分:2)
在Imagemagick中,您需要使用量子范围内的值(默认值为16位,所以0到65535)或百分比。减法100是100 * 100/255 = 39.2%,所以在Imagemagick 6中
convert image -channel r -evaluate subtract 39.2% +channel newimage
例如,我创建了一个全红色图像(r = 255):
convert -size 1x1 xc:"srgb(255,0,0)" red.png
convert red.png -channel r -evaluate subtract 39.2% +channel red2.png
convert red2.png -format "%[fx:floor(255*u.r)]" info:
155
255-100=155; So we got the correct result above.
在Imagemagick 7中,您可以
magick image -channel r -evaluate subtract "%[fx:100*100/255]"% +channel newimage
答案 1 :(得分:1)
在Gimp中,有两种方法:
Subtract
混合模式。 Subtract