在Perl中,是否有比Image :: Compare比较图像的更快方法?

时间:2019-08-15 15:39:37

标签: perl image-comparison

这是我当前的方法:

    #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次,是否有最快的方法来获得结果?

1 个答案:

答案 0 :(得分:0)

您可以将每个图像都绘制成一个标量,然后与eq运算符进行比较以查看它们是否相同。不确定这是否是您想要的。