0

我正在做一个项目,我们需要将原始高分辨率照片与缩小后的照片进行匹配。例如,原版可能是 2000px x 2000px,缩小版可能是 500px x 500px。

在研究如何做到这一点时,我发现提到 ImageMagick 的compare操作可用于比较较大和较小的图像,但它的行为就像是从较大的图像中裁剪了较小的图像 - 因此它执行了非常密集的操作扫描(http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=16781#p61937)。

如果较小的图像已从较大的图像缩放(未裁剪),是否有一个选项或标志可用于指示我只想要匹配?

4

1 回答 1

0

您可以暂时将较大的图像缩小到较小图像的大小,然后将调整大小的版本与缩略图进行比较,如 Marc Maurice 在他的博客中所述。

convert bigimage.png -resize 500x500 MIFF:- | \
compare - -metric AE -fuzz '10%' smallimage.png null:

因为 resize 算法可能与原始 resize 算法不同,这会引入差异,但如果较小的图像只缩放而不改变,相似度应该足以进行匹配。不过,您必须找到合适的指标和阈值。

如果您现在不知道缩略图大小或者它们不同,您可能希望将两个图像缩小到低于所有缩略图大小最小值的安全大小,或者您使用

identify -format "%w,%h" smallimage.png
于 2014-07-07T15:03:49.830 回答