¿Hay alguna biblioteca de reconocimiento de imágenes ACEPTABLE for.NET?


Quiero poder comparar una imagen tomada desde una cámara web con una imagen almacenada en mi computadora.

La biblioteca no necesita ser cien por ciento precisa, ya que no se utilizará en ninguna misión crítica (por ejemplo, investigación policial), solo quiero algo bien con lo que pueda trabajar.

He probado un proyecto de demostración para Reconocimiento de imágenes desde CodeProject , y solo funciona con imágenes pequeñas / no funciona en absoluto cuando comparo una imagen exacta de 120x90 píxeles (esto no está clasificado como OK: P).

¿Ha habido algún éxito con el reconocimiento de imágenes antes?

Si es así, sería capaz de proporcionar un enlace a una biblioteca que podría usar en C# o VB.NET?

Author: Peter Mortensen, 2008-09-30

3 answers

Puedes probar esto: http://code.google.com/p/aforge /

Incluye un análisis de comparación que le dará una puntuación. Hay muchas otras grandes características de imagen de todos los tipos incluidos también.

// 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
}
 71
Author: mattlant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-17 20:58:37

Puede usar exactamente EmguCV para .NET.

 8
Author: snndynya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-28 06:54:48

Lo hice simplemente. Simplemente descargue la biblioteca EyeOpen aquí. Luego úsalo en tu clase C# y escribe esto:

 use eyeopen.imaging.processing

Escribe

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");
}
 3
Author: Hydarnes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-17 21:00:04