Страница 1 из 1

Perl Magick Compare

Добавлено: 2008-06-11 9:31:39
dstol
Не работает следующий код

Код: Выделить всё

#!/usr/bin/perl
 #
 # Return Compared differences between two images.
 #
use Image::Magick;
$i1 = Image::Magick->new;
$i2 = Image::Magick->new;

$i1->Read( filename=> shift );
$i2->Read( filename=> shift );

$i1->Scale(width=>32, height=>32);
$i2->Scale(width=>32, height=>32);

$x = $i1->Compare(image=>$i2);
die "$x" if $x;

printf "Errors is %f\n",     $i1->Get('error');
printf "Mean Error is %f\n", $i1->Get('mean-error');
Выдает:
Errors is 1328.715934
Mean Error is 0.002722
Хотя сама утилита compare работает нормально :? . Версия ImageMagick 6.4.1. Версия perl 5.8.8. Кто-нибудь сталкивался с подобной проблемой

Re: Perl Magick Compare

Добавлено: 2008-06-11 17:11:34
zg
dstol писал(а):Хотя сама утилита compare работает нормально
а чего вообще должно быть? ты открываешь два одинаковых изображения и сравниваешь, обычно при сравнении -1 меньше, 0 равны, 1 больше. У тебя явно выдаёт 0, то есть равны, или не так?

Re: Perl Magick Compare

Добавлено: 2008-06-26 16:23:05
dstol
Нет утилита compare работает по другому. Она определяет степень похожести изображений, используя указаннаю метрику.
Выяснилось что perl работает нормально. Только вот результат выводит в метрике MEPP (Normalized Mean Error AND Normalized Maximum Error). А хотелось бы в метрике PSNR, которая выдает степень сходства в процентах. Т.е. вопрос свелся к тому как Perl Magick установить нужную метрику для сравнения.