如何实现图像库的颜色搜索?

时间:2010-01-08 10:05:45

标签: database image search colors hex

我正在开发一个简单的图库项目,我想实现基于颜色十六进制代码搜索的功能。因此,如果有人在搜索中输入“ff1212”,它将仅显示包含该特定红色阴影的图像。我已经看到一个网站的搜索工作方式与我想要的方式相同:http://cssline.com(AJAX部分很好,但它是服务器端的东西)。

我无法弄清楚如何存储每张图片的颜色数据。我应该获取图像中使用的每个唯一十六进制代码并将它们作为标记存储在数据库中吗?这似乎会创建一个巨大的数据集,这将减慢搜索速度。如何将图像本身存储在数据库中并在搜索过程中扫描它们的颜色?这听起来也很慢。我知道,一旦我弄清楚如何存储数据以便快速搜索,我就可以弄清楚如何编码搜索本身。

有人有任何可以帮助我的提示或建议吗?

3 个答案:

答案 0 :(得分:1)

首先,将图像中的颜色数量降低到可以使用的量(最多16个左右)。 然后,为了能够比较不同的图像,我认为最好只存储网络安全值(@erelander所讨论的间隔)来规范化结果。

答案 1 :(得分:0)

您可以尝试将每个图像的颜色间隔存储在数据库中,而不是存储每个唯一的颜色值。当然,搜索这些间隔可能需要不同的搜索算法。

答案 2 :(得分:0)

我不认为在数据库中存储颜色值会使它变慢。但它会让它变得非常大!鉴于您可以索引颜色值的数据,过程将很快。