Существуют ли библиотеки распознавания изображений OK для .NET? - PullRequest
53 голосов
/ 30 сентября 2008

Я хочу иметь возможность сравнивать изображение, снятое с веб-камеры, с изображением, хранящимся на моем компьютере.

Библиотека не должна быть на сто процентов точной, так как она не будет использоваться ни в чем критически важном (например, полицейское расследование), я просто хочу что-то в порядке, с которым я могу работать.

Я пробовал демонстрационный проект для Распознавания изображений из CodeProject , и он работает только с небольшими изображениями / не работает вообще, когда сравниваю одно и то же изображение размером 120x90 пикселей (это не классифицируется ОК: П).

Был ли раньше какой-либо успех с распознаванием изображений?

Если это так, вы могли бы предоставить ссылку на библиотеку, которую я мог бы использовать в C # или VB.NET?

Ответы [ 3 ]

71 голосов
/ 30 сентября 2008

Вы можете попробовать это: http://code.google.com/p/aforge/

Включает сравнительный анализ, который даст вам оценку. Есть также много других замечательных функций обработки изображений всех типов.

// The class also can be used to get similarity level between two image of the same size, which can be useful to get information about how different/similar are images:
// Create template matching algorithm's instance

// Use zero similarity to make sure algorithm will provide anything
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0);

// Compare two images
TemplateMatch[] matchings = tm.ProcessImage( image1, image2 );

// Check similarity level
if (matchings[0].Similarity > 0.95)
{
    // Do something with quite similar images
}
8 голосов
/ 26 октября 2010

Вы можете точно использовать EmguCV для .NET.

3 голосов
/ 14 сентября 2012

Я сделал это просто. Просто скачайте библиотеку EyeOpen здесь . Затем используйте его в своем классе C # и напишите это:

 use eyeopen.imaging.processing

запись

ComparableImage cc;

ComparableImage pc;

int sim;

void compare(object sender, EventArgs e){

    pc = new ComparableImage(new FileInfo(files));

    cc = new ComparableImage(new FileInfo(file));

    pc.CalculateSimilarity(cc);

    sim = pc.CalculateSimilarity(cc);

    int sim2 = sim*100

    Messagebox.show(sim2 + "% similar");
}
...