Я использую portable.aforge.imaging для сравнения изображений в проекте UWP. Для метода ProcessImage в качестве аргументов требуется тип Bitmap. Я использую System.Drawing для доступа к классу Bitmap, но я получаю ошибки при попытке создать экземпляр: «Bitmap не содержит конструктор, который принимает один аргумент»aforge сравнение изображений с UWP
Имеет ли обычный класс Bitmap доступ к UWP? если да, что я делаю неправильно? если нет, то какие альтернативы мне нужно использовать ProcessImage для aforge для сравнения?
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 с помощью открытого публичного статического явного оператора Bitmap (WriteableBitmap writeableBitmap) '. Или, возможно, создать экземпляр «Image» с помощью «Image.FromStream()» и передать его в Bitmap (не уверен, что это работает). – Clemens