使用 imagemagick 比较仅显示差异

show only difference using imagemagick compare

我正在使用 ImageMagick compare 来比较两个图像并获取它们的差异。我有 2 个问题:

  1. 我想得到一个透明的结果图像,只有 diff 部分,没有别的。不是白色-透明。
  2. 是否可以只获取一张图片而不是两张图片的差异?

谢谢!

假设您从这两张图片开始:

convert -size 256x256 xc:black -fill white -draw "circle 100,100 120,100" a.png

convert -size 256x256 xc:black -fill white -draw "circle 120,120 140,140" b.png

然后你可以像这样在透明背景上得到红色的差异:

compare a.png b.png -highlight-color red -lowlight-color none -compose src diff.png

我像 Photoshop 一样将它叠加到棋盘上,这样您就可以透过透明度看到棋盘。

关于你的第二个问题,我不知道你是如何区分单张图片的?有什么区别?