algorithm - 图像抓取和索引算法(通过图像的颜色)和文本搜索给出相应的图像

标签 algorithm image-processing lucene indexing inverted-index

我有一个搜索引擎,通过在倒排索引中查看搜索到的文本来搜索文本并编写相应的网页集,并抛出相应的网页。

现在我想再增加一个功能,就是会根据颜色来查找。

例如,当我搜索“RED SHOES”时,它向我显示了倒排索引数据结构中的所有红鞋。

我对算法的看法,

  1. 在不同的地方制作图像的数据结构。
  2. 每当找到图像时,就像夹克的图像一样,使用某种颜色查找算法计算其所有颜色。
  3. 将该图像放入所有颜色索引中。

所以这就是我的抓取方法,当出现任何像“红鞋”这样的搜索时。它通过查看红色索引找到对应的红色项。

这是我的算法构建阶段,这就是为什么我没有为上述算法编写任何代码的原因。一旦我得到正确的方法,我就会开始我的编码阶段。

所以请给我一个建议,

这是一个好的算法吗?或

是否需要任何优化或更改,如果需要,请与我分享/讨论这些更改。

提前致谢。期待您的友好回应。

最佳答案

对于任何可扩展的搜索引擎,几乎可以肯定没有图像分析会更好。相反,请考虑通过例如中的属性文本为图像编制索引。 <img>标签。例如,如果图像的替代文本是 "red shoes" , 然后你可以索引该文本下的图像。当您稍后搜索 "red" 时, 图像将有机会被返回。

如果您认真进行这种图像分析,您可以使用 image magic 等库来计算颜色直方图。然后,您可以应用聚类模型甚至只是决策树来注意特定范围内的大量颜色,并声明一组颜色标签(如 "red""rouge""vermillion" 等)图像是然后编入索引。

如果您感觉绝对疯狂,您可以对直方图本身进行余弦相似度计算。这样您就可以将图像作为查询 提交。不过,我不认为这是您的想法。

关于algorithm - 图像抓取和索引算法(通过图像的颜色)和文本搜索给出相应的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15127195/

相关文章:

algorithm - 找到最接近点的线段的最佳方法

android - 试衣间的增强现实 从哪里开始?

python - 使用欧氏距离计算 2 个直方图之间的距离

algorithm - long long 除法与 32 位内存

c++ - 二进制搜索查找排序数组中比给定值最小和最大的元素?

image-processing - 自动检测图像的模糊区域

search - 使用什么样的过滤器来匹配像 OCallaghan 和 O'Callaghan 这样的东西?

java - 如何在 Lucene 5.3.x 中使用 BooleanQuery 构建器?

php - 使用 Solr Lucene 索引不同类型的实体/对象

algorithm - 在线算法和离线算法有什么区别?