Zijn er OK beeldherkenningsbibliotheken voor .NET?

Ik wil een afbeelding die met een webcam is gemaakt, kunnen vergelijken met een afbeelding die op mijn computer is opgeslagen.

De bibliotheek hoeft niet honderd procent nauwkeurig te zijn, aangezien deze niet zal worden gebruikt voor missiekritieke zaken (bijv. politieonderzoek), ik wil gewoon iets OK waarmee ik kan werken.

Ik heb een demonstratieproject geprobeerd voor Beeldherkenning van CodeProjecten het werkt alleen met kleine afbeeldingen / werkt helemaal niet als ik exact dezelfde afbeelding 120×90 pixels vergelijk (dit is niet geclassificeerd als OK 😛 ).

Is er al eerder succes met beeldherkenning?

Zo ja, zou je dan een link kunnen geven naar een bibliotheek die ik zou kunnen gebruiken in C# of VB.NET?


Antwoord 1, autoriteit 100%

Je zou dit kunnen proberen: http://code.google.com/p/aforge/

Het bevat een vergelijkingsanalyse die u een score geeft. Er zijn ook veel andere geweldige beeldfuncties van alle soorten inbegrepen.

// 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
}

Antwoord 2, autoriteit 13%

Je kunt EmguCVvoor .NET precies gebruiken.


Antwoord 3, autoriteit 5%

Ik heb het eenvoudig gedaan. Download gewoon hierde EyeOpen-bibliotheek.
Gebruik het dan in je C#-klasse en schrijf dit:

use eyeopen.imaging.processing

Schrijf

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

Other episodes