我正在开发一个草图搜索引擎,它将某人的草图与数据库中的图片相关联(数据库现在只有大约40张图片)。我这样做主要是为了好玩,所以我不是那么精通计算机成像技术。
首先,关于如何创建直方图(箱子大小,范围等),是否有任何经验法则?我正在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
距离(虽然卡方也不错,但它看起来效果最好。)
答案 0 :(得分:2)
有背景吗? 它有意义吗? 也许您需要查看是否存在用户提供的背景。 然后你“只需要”每个数据库条目需要2个直方图,一个用bg,一个没用。
那会让地球看起来像一个带点的苹果。
对于基本的bg分离,尝试一个canny,然后取“外面”并将其从原始副本中删除。