58 votes

Existe-t-il des bibliothèques de reconnaissance d'images «ok» pour .NET?

Je veux être en mesure de comparer une image provenant d'une webcam d'une image stockée sur mon ordinateur.

La bibliothèque n'a pas besoin d'être à cent pour cent précise qu'elle ne sera pas utilisé dans tous les critiques de la mission (par exemple, une enquête de la Police), je veux juste quelque chose " ok " je peux travailler avec.

J'ai essayé un projet de démonstration pour la Reconnaissance d'Images de CodeProject, et il ne fonctionne qu'avec les petites images / ne fonctionne pas du tout quand je le compare un exactement la même image 120x90 pixels (ce qui n'est pas classé comme 'ok' :P ).

Personne n'a eu du succès ici avec la reconnaissance d'image avant?

Si oui, seriez-vous en mesure de fournir un lien vers une bibliothèque que je pourrais utiliser en C# ou VB.NET?

Merci à l'avance. :)

75voto

mattlant Points 9136

Vous pouvez essayer ceci: http://code.google.com/p/aforge/

Il comprend une analyse de comparaison qui vous donnera un score. De nombreuses autres fonctionnalités d'imagerie de tous types sont également incluses.

 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
}
 

8voto

snndynya Points 61

vous pouvez utiliser exactement EmguCV pour .Net.

3voto

Hydarnes Points 21

Je l'ai fait simplement. Téléchargez EyeOpen Library ici . puis utilisez-le dans votre classe c # et écrivez ceci:

  use eyeopen.imaging.processing
 

écrire

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

}
 

-2voto

vak Points 324

C # et C ++ sont proches l'un de l'autre. Alors peut-être qu’un des meilleurs points de départ pour vous pourrait être OpenCV

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X