多重tiff的差异

问题描述 投票:1回答:1

我必须计算两个图像的差异。目前我用imagemagick这样做。以下代码适用于jpg或单页tiff:

convert fileA.jpg fileB.jpg -compose -Difference -composite -colorspace gray -format '%[fx:mean]' info:

当我在第二页上编辑多页tiff并使用上面带有修改和未修改tiff的命令时,我得到了与比较fileA与其自身相同的结果,所以我认为imagemagick将第1页与fileA的第2页进行比较。

实际我将多页图像分成单个图像文件并逐页比较,但这很慢!


视窗:

...>magick -version
Version: ImageMagick 7.0.8-11 Q16 x64 2018-08-29 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg lcms lqr lzma openexr pangocairo png ps raw rsvg tiff webp xml zlib

Ubuntu 14.04

....# convert -version
Version: ImageMagick 6.7.7-10 2018-07-10 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

如何快速获得两个比较tiff的百分比差异?也许有一种方法可以用imagemagick或另一种用bash / java / ...

image imagemagick imagemagick-convert
1个回答
1
投票

在Imagemagick中执行复合之前,您应该可以通过将每个TIFF图像的所有页面附加在一起来实现。例如,我做了4页测试tiff,第二页已模糊:

convert \( test1.tif +adjoin -append \) \( test2.tif +adjoin -append \) -compose difference -composite -colorspace gray -format '%[fx:mean]\n' info:

0.00847632

您也可以使用-layers composite来实现,并为每个页面获得差异。

convert test1.tif +adjoin null: test2.tif +adjoin -compose difference -layers composite -colorspace gray -format '%[fx:mean]\n' info:


0
0.0324311
0
0
© www.soinside.com 2019 - 2024. All rights reserved.