使用 imagemagick compare 仅显示差异

Posted

技术标签:

【中文标题】使用 imagemagick compare 仅显示差异【英文标题】:show only difference using imagemagick compare 【发布时间】:2015-07-11 15:46:13 【问题描述】:

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

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

谢谢!

【问题讨论】:

如何获得一张图片的差异?有什么区别? 我认为 OP 应该改变堆肥方法以在他的第二个问题中得到他想要的。我的问题是我没有得到透明背景,而是黑色;我该怎么办? 【参考方案1】:

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

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 一样将它叠加到棋盘上,这样你就可以透过透明度看到棋盘。

关于您的第二个问题,我不知道您如何获得单个图像之间的差异?有什么区别?

【讨论】:

以上是关于使用 imagemagick compare 仅显示差异的主要内容,如果未能解决你的问题,请参考以下文章

在多个图像上查找未更改的区域

浏览器判定条件

如何在 C# 中使用 imageMagick

求教imagemagick安装方法

如何使用自制软件安装 imagemagick?

如何使用 Imagemagick 替换单个 PDF 页面?