2010-12-22 53 views
1

我想比较图像与图像数据库以找到任何“相似”图像(它可能是相同的图像,但调整大小,有损压缩,稍微裁剪)与定义的容差标准。.Net图书馆用于通过哈希进行图像搜索?

无论是大小(数以十万计的图像比较)和标准(调整大小,裁剪)排除使用任何种类的像素到像素比较。我必须做的是计算并存储每个图像的“哈希”,然后当我想比较一个新图像时,我计算它的哈希值并使用它进行搜索。

我了解如何通常完成此操作的基本知识 - 您在图像中识别少量独特的“特征”(我已经玩过一些识别角点)并将该信息存储为哈希。然而,这不会成为我正在开发的项目的主要组成部分,所以我不能花时间从头开发和测试这种规模。

是否有任何(.NET优先)库生成和比较视觉图像哈希?沿着线string ComputeHash(Image)int GetHashDifference(string, string)

回答

1

看看这个SourceForge项目:Image Similarity Tool。这是一个命令行的Linux工具,但其中的一些技巧可能对您有用。

imgSeek,免费(开源)图像相似度项目的集合,也可能对您有用。

不幸的是,我无法找到任何.NET库,它们完全符合您的需求,但也许别人可以帮助您。

祝你好运!

+0

我也经历了SIFT/SURF算法,但发现它们不太适合直接图像比较。我将小波算法从imgSeek转换为C#进行测试。它具有足够的有用结果,至少可以充当产品占位符。洞穴虽然是比较(A,B)通常返回一个不同的比分,然后比较(B,A),更奇怪的事实,我发现比较(A,B)实际上返回一个较高的分数,比较(A, B)。这得益于评分算法没有明确定义的范围 - 它更适合于排序然后过滤。 – David 2011-02-09 20:02:14