提取2张图像之间变化的像素并使用图像魔术将其保存为新图像,同时保留原始颜色

问题描述

我正在尝试获取两张图片间的差异,并将其保存到新文件中以加快文件传输速度。

但是当使用此命令compare -compose src /tmp/.send.png ~/.cache.png .difference.png获得差异时,它起作用了,但是所有更改的内容都是红色的?如何使其变为原始颜色或不改变图像的颜色?

解决方法

不清楚要获得什么结果。这是ImageMagick中的两种不同方式。图片2中添加了一个蓝色小方块。

以下是Unix语法。 Windows语法略有不同。如果使用ImageMagick 7,则将convert替换为magick。

输入1:

enter image description here

输入2:

enter image description here


convert lena.png lena_blue.png \
\( -clone 0,1 -compose difference -composite -colorspace gray \) \
-delete 1 \
\( -clone 0 -fill green1 -colorize 100 \) \
+swap -compose over -composite \
lena_diff.png

绿色突出显示的差异:

enter image description here

将图像涂黑,除非有区别:

convert lena.png lena_blue.png \
\( -clone 0,1 -compose difference -composite -colorspace gray -threshold 0 \) \
-delete 1 \
+swap -compose multiply -composite \
lena_diff2.png

enter image description here