拉取在 2 个图像之间更改的像素并使用图像 magick convert 保存到新图像,同时保持原始颜色
Pulling Pixels that changed between 2 images and saving to a new using image magick convert while keeping the original colors
我正在尝试找出 2 张图像之间的差异并将其保存到新图像以加快文件传输速度。
但是当使用这个命令得到差异时 compare -compose src /tmp/.send.png ~/.cache.png .difference.png
它有效但是所有改变的都是红色的?我怎样才能让它变成原来的颜色或者让它不改变图像的颜色?
不清楚你想要什么结果。这是 ImageMagick 中的两种不同方式。图 2 中添加了一个蓝色小方块。
以下是Unix语法。 Windows 语法略有不同。如果使用 ImageMagick 7,请将 convert 替换为 magick。
输入 1:
输入 2:
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
用绿色突出显示差异:
将图像涂黑,除了不同之处:
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
我正在尝试找出 2 张图像之间的差异并将其保存到新图像以加快文件传输速度。
但是当使用这个命令得到差异时 compare -compose src /tmp/.send.png ~/.cache.png .difference.png
它有效但是所有改变的都是红色的?我怎样才能让它变成原来的颜色或者让它不改变图像的颜色?
不清楚你想要什么结果。这是 ImageMagick 中的两种不同方式。图 2 中添加了一个蓝色小方块。
以下是Unix语法。 Windows 语法略有不同。如果使用 ImageMagick 7,请将 convert 替换为 magick。
输入 1:
输入 2:
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
用绿色突出显示差异:
将图像涂黑,除了不同之处:
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