【发布时间】:2025-12-03 10:50:01
【问题描述】:
这是我目前的方法:
#Object to compare images
my $cmp = Image::Compare->new();
# Resize images
my ($image_1_resized_file, $image_2_resized_file) = resize_images($image_1_file, $image_2_file);
# Configure comparison
$cmp->set_image1(
img => $image_1_resized_file,
type => 'png',
);
$cmp->set_image2(
img => $image_2_resized_file,
type => 'png',
);
$cmp->set_method(
method => &Image::Compare::EXACT,
);
# Compare
if ($cmp->compare()) {
print "[DEBUG] Images are the same\n" if ($self->{_debug_prints} eq 1);
# Remove temp files
unlink $image_1_resized_file;
unlink $image_2_resized_file;
return 1;
}
else {
print "[ERROR] Images are not the same\n";
#Remove temp files
unlink $image_1_resized_file;
unlink $image_2_resized_file;
return 0;
}
}
省略我所做的调整大小,如果图像相同,是否有最快的方法来做到这一点?目前每张图片大约需要 2-5 秒,大小约为 600x600。
考虑到我想测试 10 个图像的块大约 40 次,有没有最快的方法来获得结果?
【问题讨论】:
-
您尝试过(外部)
diff(Linux/Unix) 吗?比较使用Benchmark -
如果您要多次比较同一张图片,只需调整一次,而不是每次与另一张比较。
标签: perl image-comparison