老实说,我真的不明白25700
你的命令行中的价值应该达到什么。
但是,我建议您使用更强大的-fx
运算符来使用不同的命令行。看起来有点复杂,但希望更直观地理解......
但首先,我正在查看您的描述,发现您想120
从当前的 R、G 和 B 颜色值中减去固定数量的 。所以这是一个灰色像素颜色......你可以在 ImageMagick 的颜色内置颜色列表中查找,它的名称是gray47
:
convert -list color | grep '(120,120,120)'
gray47 srgb(120,120,120) X11 XPM
grey47 srgb(120,120,120) SVG X11
这导致我执行以下命令:
convert \
input.jpg \
-channel red -fx 'r - gray47' \
-channel green -fx 'g - gray47' \
-channel blue -fx 'b - gray47' \
output.jpg
这种方式或编写命令可能会让您看到一些容易衍生的修改,如果您将来需要这些修改......
要立即弹出结果的预览窗口(不将其写入文件),您还可以将-show:
其用作输出,如下所示:
convert \
input.jpg \
-channel red -fx 'r - gray47' \
-channel green -fx 'g - gray47' \
-channel blue -fx 'b - gray47' \
-show:
更新
如果要检查每个像素的真实差异,可以让 ImageMagick 打印出每个像素的颜色值:
convert input.jpg input.txt
convert output.jpg output.txt
.txt 文件的格式很容易理解,一旦您知道第一列给出了从零开始的像素坐标:123,456:
表示:第 124 (!) 列,第 457 () 行。
现在,即使是自动化的脚本版本,您也可以将这两个 .txt 文件与您心中的内容进行比较,而无需求助于 Gimp。:-)
您甚至可以使用input.txt
Perl-、Ruby-、Python- 或 Shellscript 并将其应用于每个像素值,以分散120
每个通道的值,将其保存为 output2.txt,然后将其转换回 JPEG:
convert output2.txt output2.jpg
然后寻找两个输出图像之间的像素差异:
compare output.jpg output2.jpg delta.jpg
compare output.jpg output2.jpg view:
全白平面意味着“没有差异”,任何红色像素都会暗示某种增量。
现在,如果这个答案没有为我赢得投票,我不知道哪个会...... :-)