Разница многостраничных тифф - PullRequest
0 голосов
/ 18 сентября 2018

Я должен рассчитать разницу двух изображений. В настоящее время я делаю это с imagemagick . Следующий код хорошо работает для JPG или одностраничных TIFF:

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

Когда я редактирую многостраничный tiff на второй странице и использую приведенную выше команду с измененным и неизмененным tiff, я получаю тот же результат, что и сравниваю fileA с самим собой, поэтому я думаю, что imagemagick сравнивает страницу 1 со страницей 2 файла A.

Фактически я разделяю многостраничные изображения на отдельные файлы изображений и сравниваю страницу за страницей, но это медленно!


Windows

...>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 /...

1 Ответ

0 голосов
/ 18 сентября 2018

Вы должны быть в состоянии сделать это, добавив все страницы каждого изображения TIFF вместе перед выполнением компоновки в Imagemagick. Например, с 4-страничным тестом, который я сделал, когда вторая страница была размыта:

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
...