使用 ImageMagick 比较移动但相似图像的像素

Compare pixels moved but similar images using ImageMagick

当比较两张图片时,两张图片是一样的,只是其中一张图片中的文字移动了几个像素。请看下面URL。这是一个 GIF,显示了两个相似图像的差异。

https://giphy.com/gifs/9x50JjoLSPZ7lKRebk

我的团队最初使用的比较命令没有解决这个问题。需要建议吗?

您可以删除 Imagemagick 中的所有文本,然后通过对 Saturation/Chroma 通道设置阈值然后进行比较来比较条形。文本是灰色的,所以它几乎没有饱和度。条形是青色的,因此它们是彩色的并且具有中高饱和度。

convert giphy.gif -colorspace HCL -channel g -separate +channel -threshold 5% +write tmp.gif miff:- | compare -metric rmse - null: 
3164.96 (0.0482942)

所以这是 4.8% 的差异。

我保存了tmp.gif,你不需要,只是为了展示比较前的处理结果。

如果您的Imagemagick 版本太旧并且您没有-colorspace HCL,那么试试HSL 或HSB。 C 和 S 相似,测量 saturation/chroma.