Pergunta

Quero poder comparar uma imagem tirada de uma webcam com uma imagem armazenada no meu computador.

A biblioteca não precisa ser cem por cento precisa, pois não será usada em nada de missão crítica (por exemplo, investigação policial), só quero algo ok com o qual possa trabalhar.

Eu tentei um projeto de demonstração para Reconhecimento de imagem do CodeProject, e funciona apenas com imagens pequenas / não funciona quando comparo exatamente uma mesma imagem de 120x90 pixels (isso não é classificado como OK: P).

Houve algum sucesso com o reconhecimento de imagem antes?

Nesse caso, você seria capaz de fornecer um link para uma biblioteca que eu poderia usar em C# ou VB.NET?

Foi útil?

Solução

Você poderia tentar o seguinte: http://code.google.com/p/aforge/

Inclui uma análise de comparação que lhe dará uma pontuação. Existem muitos outros ótimos recursos de imagem de todos os tipos incluídos também.

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

Outras dicas

Você pode usar exatamente Emgucv para .net.

Eu fiz isso simplesmente. Basta baixar a biblioteca ocular aqui. Em seguida, use -o na sua classe C# e escreva isso:

 use eyeopen.imaging.processing

Escreva

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");
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top