сравнение изображений aforge с UWP

Я использую Portable.aforge.imaging для сравнения изображений в проекте UWP. Метод ProcessImage требует в качестве аргументов тип Bitmap. Я использую System.Drawing для доступа к классу Bitmap, но получаю ошибки при попытке создать экземпляр: «Bitmap не содержит конструктор, который принимает 1 аргумент»

Доступен ли обычный класс Bitmap в UWP? если да, то что я делаю не так? если нет, какие альтернативы мне использовать для сравнения с 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
        }
    }

person Xaren    schedule 16.03.2016    source источник
comment
Этот System.Drawing.Bitmap не из .NET Framework, а поставляется с portable.aforge.imaging (в Shim.Drawing). Глядя на его код, кажется, что вы можете создать экземпляр только путем приведения из WriteableBitmap с помощью public static explicit operator Bitmap(WriteableBitmap writeableBitmap). Или, возможно, создайте экземпляр Image с помощью Image.FromStream() и приведите его к растровому изображению (не уверен, что это сработает).   -  person Clemens    schedule 17.03.2016


Ответы (1)


Да, System.Drawing.Bitmap доступен через сборку Shim.Drawing для AForge на универсальной платформе Windows.

Как предлагает Clemens, вам нужно выполнить преобразование из WriteableBitmap в System.Drawing.Bitmap, применить операции обработки изображений AForge к Bitmap и, наконец, выполнить обратное преобразование в WriteableBitmap (или BitmapSource, или ImageSource).

Пример реализации этого рабочего процесса можно найти в образце Corner.SURF.Windows в accord-samples, в файле MainPage.xaml.cs.

person Anders Gustafsson    schedule 17.03.2016