Я использую 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
}
}
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