Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

Вы можете попробовать следующее: 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 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
}

Ответ 2

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

Ответ 3

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

 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");
}