Magick.net检查两个图像是否相同

时间:2017-06-09 14:54:39

标签: c# compare imagemagick magick.net

我正在尝试使用来自ImageMagick的C#库Magick.NET来比较网页的两个屏幕截图。我的代码如下所示:

 //Adapt image a bit otherwise he'll throw an error over the whole image
            newScreenshot.ColorFuzz = new Percentage(15);
            //Get the difference, 1 = perfectly the same, less then 1 not.
            double diff = newScreenshot.Compare(benchmarkScreenshot, new ErrorMetric(), imgDiff);
            //Output the result image for comparaison
            imgDiff.Write(compareResultPath);


            if (diff < 0.998)
            {
                //Do something
            }

在这种情况下,我会得到低于1的值,在那里我想象1将是“相同的”,而不到1的所有东西都不会。我错了......所以我能想到的唯一方法就是通过降低if语句中的值来降低容忍度。

所以,如果我有一个网站的截图,我调整它,我得到“diff”变量的以下值:

  • 相同图片:0.99842343024053205

  • 删除一句话:0.99776453647987487

  • 从页面上的任何字词中删除一个字母:0.99698398328761506

我非常害怕删除整个句子的价值高于一个字母。

我还尝试使用ErrorMetric.Absolute而不是新的ErrorMetric(),我为“diff”变量获得的值是:

  • 相同图片:1949

  • 删除一句话:766

  • 从页面上的任何字词中删除一个字母:75

是否有更好,更准确的方式,然后我正在尝试检查是否有实际的变化?

0 个答案:

没有答案