我希望能够将从网络摄像头拍摄的图像与存储在我的电脑上的图像进行比较。.NET是否有任何好的图像识别库?
这个库不需要百分百的准确,因为它不会被用在任何关键任务(例如警方调查)中,我只想要一些我可以使用的东西。
我试过Image Recognition from CodeProject的示范项目,它只适用于小图像/根本不工作,当我比较完全相同的图像120x90像素(这不是分类为OK:P)。
以前有没有成功的图像识别?
如果是这样,你能提供一个链接到我可以在C#或VB.NET中使用的库吗?
我希望能够将从网络摄像头拍摄的图像与存储在我的电脑上的图像进行比较。.NET是否有任何好的图像识别库?
这个库不需要百分百的准确,因为它不会被用在任何关键任务(例如警方调查)中,我只想要一些我可以使用的东西。
我试过Image Recognition from 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库here。 然后在你的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");
}
它肯定有比这更大的影像作品,必须有一些其他的问题,可能的格式。 – 2010-01-25 15:59:41