ウェブカメラから撮影した画像とコンピューターに保存されている画像を比較したい。
ライブラリはミッションクリティカルなもの(警察の捜査など)で使用されないため、100%正確である必要はありません。
CodeProjectからの画像認識 のデモンストレーションプロジェクトを試しましたが、小さな画像でしか動作せず、正確に同じ画像を120x90ピクセルと比較してもまったく動作しません(これはOKに分類されません: P)。
これまでに画像認識で成功したことはありますか?
その場合、C#またはVB.NETで使用できるライブラリへのリンクを提供できますか?
これを試すことができます: 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
}
.NETでは EmguCV を正確に使用できます。
簡単にやった。 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");
}