与UWP的aforge图像比较

时间:2016-03-16 16:35:12

标签: win-universal-app aforge image-comparison

我使用portable.aforge.imaging在UWP项目上进行图像比较。 ProcessImage方法需要Bitmap类型作为参数。我使用System.Drawing来访问Bitmap类,但是在我尝试实例化时遇到错误:" Bitmap不包含一个带有1个参数的构造函数"

UWP上是否有常规的Bitmap类?如果是的话,我做错了什么?如果没有,我还需要使用aforge的ProcessImage进行比较吗?

 private void TestAForge()
    {

        ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0);

        Bitmap image, template;

        //fetch Bitmaps

        image = new Bitmap("MyDir/myImage.jpg");
        template = new Bitmap("MyDir/myImage.jpg");

        // compare two images
        TemplateMatch[] matchings = tm.ProcessImage(image, template);
        // check similarity level
        TextBlock.Text = "" + matchings[0].Similarity;
        if (matchings[0].Similarity > 0.95)
        {

            // do something with quite similar images
        }
    }

1 个答案:

答案 0 :(得分:0)

是的,通用Windows平台上的 AForge Shim.Drawing 程序集可以使用System.Drawing.Bitmap

正如 Clemens 建议的那样,您需要从WriteableBitmap投射到System.Drawing.Bitmap,对{{1}应用 AForge 成像操作最后转回Bitmap(或WriteableBitmapBitmapSource)。

可以在accord-samples存储库中的文件MainPage.xaml.cs中的 Corner.SURF.Windows 示例中找到实现此工作流的示例。