我正在 html5和javascript 进行编码,类似于图片搜索引擎(就像Google图片一样),但不那么复杂,使用脱机数据库完成离线 ,我想知道用调色板搜索图像的最佳方法是什么。
例如,我输入一个名称然后选择红色,输出就是所有具有该红色的图像的图像。
我被建议计算hsv 空间中每种颜色的直方图。但我不明白该怎么做,我想如果我尝试计算一堆图像的直方图,逐像素,对于像12种颜色的东西需要花费很多时间。
它必须存在一些更好,更快的方法来做到这一点。
提前致谢。
答案 0 :(得分:0)
直方图是要走的路。将图像加载到画布中然后遍历像素就足够了。基本上你会有一个JS对象,其中的键表示0-255最初设置为零的颜色,然后在过程中找到该颜色时将颜色加1。这就是你如何为RGB直方图做到这一点。我不确定HSV。我不能保证速度,但我认为它不会很慢,但显然速度取决于图像的尺寸。
由于这是离线的,你可能想要做的是使用像Python / Python Imaging Library这样的东西为你扫描图像并将直方图数据加载到数据库中然后只使用HTML和JS来查询数据库中。