3

我正在开发一个草图搜索引擎,该引擎将某人的草图与数据库中的图片相关联(数据库现在只有大约 40 张图片)。我这样做主要是为了好玩,所以我不太精通计算机成像技术。

首先,关于如何创建直方图(bin 大小、范围等)是否有任何经验法则?我正在使用在http://www.scribd.com/doc/6194304/Histograms找到的一些直方图代码(但已移植到 JavaCV)。有时我得到好结果,有时我得到坏结果,大多数时候我得到“meh”的结果。我一直在用 bin 大小和范围试验 TON,我想知道比较高维直方图是否可能是这里的答案。

其次,在我当前的直方图设置中,黑色似乎非常重要(即使是一个黑点也会改变整个结果集)。这应该预期吗?还是我搞砸了什么?示例: 在此处输入图像描述 在点之后: 在此处输入图像描述 注意我已经将“earthrise”的图片作为“接近”匹配。

我还想知道应该使用什么方法进行 blob 或特征分析。我认为像 SURF 这样的东西可能有点矫枉过正,因为我只想广泛比较 blob,而不是准确地映射模板。有什么方法可以在通过 Canny 过滤器后比较边缘?(如果可能的话,低复杂度): 在此处输入图像描述

例如,在这里,我希望两个笑脸位于顶部,因为针状笑脸“blob”与笑脸形状的关系比与一堆百香果或银河更密切相关。

长长的问题。如果您想亲自试用引擎,请访问http://skrch.dvt.name/(无耻插件,我知道,我知道 - 仅适用于 FF/Chrome/Safari)。也许更有经验的计算机视觉人员可以根据结果提出建议。哦,我CV_COMP_BHATTACHARYYA在比较直方图时使用了距离(似乎它给出了最好的结果,尽管卡方也不错)。

4

1 回答 1

2

有背景吗?重要吗?也许您需要查看是否有用户提供的背景。那么你“只”需要每个数据库条目有 2 个直方图,一个有 bg,一个没有。

这将阻止地球看起来像一个带点的苹果。

对于基本的背景分离,尝试精明,然后将“外部”从原件副本中删除。

于 2011-03-17T04:01:28.137 回答