我想比较图像与图像数据库以找到任何“相似”图像(它可能是相同的图像,但调整大小,有损压缩,稍微裁剪)与定义的容差标准。.Net图书馆用于通过哈希进行图像搜索?
无论是大小(数以十万计的图像比较)和标准(调整大小,裁剪)排除使用任何种类的像素到像素比较。我必须做的是计算并存储每个图像的“哈希”,然后当我想比较一个新图像时,我计算它的哈希值并使用它进行搜索。
我了解如何通常完成此操作的基本知识 - 您在图像中识别少量独特的“特征”(我已经玩过一些识别角点)并将该信息存储为哈希。然而,这不会成为我正在开发的项目的主要组成部分,所以我不能花时间从头开发和测试这种规模。
是否有任何(.NET优先)库生成和比较视觉图像哈希?沿着线string ComputeHash(Image)
和int GetHashDifference(string, string)
我也经历了SIFT/SURF算法,但发现它们不太适合直接图像比较。我将小波算法从imgSeek转换为C#进行测试。它具有足够的有用结果,至少可以充当产品占位符。洞穴虽然是比较(A,B)通常返回一个不同的比分,然后比较(B,A),更奇怪的事实,我发现比较(A,B)实际上返回一个较高的分数,比较(A, B)。这得益于评分算法没有明确定义的范围 - 它更适合于排序然后过滤。 – David 2011-02-09 20:02:14