59

Web カメラで撮影した画像と、コンピューターに保存されている画像を比較できるようにしたいと考えています。

ライブラリはミッション クリティカルなもの (警察の捜査など) には使用されないため、100% 正確である必要はありません。

CodeProject の Image Recognitionのデモンストレーション プロジェクトを試してみましたが、小さな画像でのみ機能し、120x90 ピクセルのまったく同じ画像を比較してもまったく機能しません (これは OK :P に分類されません)。

以前に画像認識で成功したことはありますか?

もしそうなら、C# または VB.NET で使用できるライブラリへのリンクを提供できますか?

4

3 に答える 3

78

これを試すことができます: 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'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
}
于 2008-09-30T07:16:33.983 に答える
10

EmguCV for .NETを正確に使用できます。

于 2010-10-26T15:58:37.617 に答える
4

シンプルにやりました。ここから EyeOpen ライブラリをダウンロードしてください。次に、それを C# クラスで使用して、次のように記述します。

 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");
}
于 2012-09-14T09:32:17.160 に答える