我需要让PHP成为基于颜色的搜索,用户将点击调色板上的颜色,搜索将检索具有主要相似颜色的所有图像。
Restults将从具有最相似颜色的图像按降序排序。
任何人都可以指出一些指导方针或现有的类,例子......如何实现这个目标?
特别是搜索的“aproximation”或“类似”部分将如何? 如何选择不同种类的“橙色”,并将它们从最相似和最相似的类别中分类。
由于
答案 0 :(得分:2)
这可能是有意义的:
How does Google's image color search work?
另外,对于PHP模块:
http://codecanyon.net/item/php-color-extractor-image-color-pallete-creator/119042
答案 1 :(得分:2)
以下是我使用php GD lib函数分析图像的示例。从这里,您只需将分析的数据存储在数据库中,以便在搜索过程中使用。
详情请见:http://www.colab-aktiv.com/?page_id=263
基本步骤如下:
定义颜色样本中的颜色
使用要分析的图像创建图像对象,如果图像太大则调整图像大小
创建图像对象并将颜色样本中的颜色加载到图像调色板中。这是GIF图像使用的调色板。这是比较调色板,将要分析的图像中的颜色进行比较。
循环遍历图像中的所有像素,并将其与比较调色板中与像素最接近的匹配进行计数。
按降序对计数结果进行排序
显示最佳结果
答案 2 :(得分:1)
首先,您不应该动态搜索图像库。如果你必须找到每个图像的主要颜色,这将是非常慢的。您需要类似爬虫的东西,但专门用于图像。
要找出主要颜色,你需要一些坚实的数学基础:
答案 3 :(得分:1)
我做过类似的工作。我的实施可以在http://code.google.com/p/hppg/找到。可以在项目主页找到实例。此搜索引擎还具有按关键字和颜色同时搜索的功能。所有详细信息和代码都可以在项目主页上找到。希望如此有用:))
答案 4 :(得分:1)
我认为在这种情况下,使用Color coherence vector之类的算法可能会很有帮助,因为该算法会找到图像中颜色的关联组成部分,并定义一组相干和不相干的颜色。
“相干颜色”是描述主要色彩的另一个术语,这正是您要寻找的。可能您将只使用这些连贯的颜色功能,可以根据用户的选择进行匹配。
本教程Image Retrieval: Color Coherence Vector describes描述了算法的步骤,并举例说明了该算法的工作方式及其缺点。顺便说一句,我认为这些缺点不会影响您的用例,因为您主要是在寻找与主要颜色匹配的方法,而不管它在哪里。