2009-09-25 88 views
2

也許你已經注意到了,但Google圖片搜索現在有一個功能,可以按顏色縮小搜索結果。有誰知道他們是如何做到這一點的?顯然,他們已經爲每個圖像編制了索引信息。按顏色組織圖片

我很好奇什麼是分析圖像的顏色數據,以允許簡單的顏色搜索的最佳方法。

感謝您的任何和所有想法!

回答

3

平均顏色是一個很好的開始。只需使用Bicubic或Bilinear濾鏡(或其他先進技術)將圖像縮小至原始大小的10%即可。這將大大降低色彩噪點,併爲您提供更接近人類感知圖像的結果。即純粹由黃色和藍色像素組成的像素柵格將變成乾淨的綠色。

如果您不模糊或縮小圖像,您可能仍會以平均綠色結束,但偏差會很大。

+0

然後,我會獲取縮小圖像的平均顏色,並將其用於索引目的? – 2009-09-25 14:32:54

+0

您可以縮小縮小圖像的顏色。 – 2009-09-25 16:14:11

+0

@JoelVerhagen參見[這個答案](http://stackoverflow.com/questions/12147779/how-do-i-release-a-cgimageref-in-ios/12148136#12148136)類似的方法。它縮小到1x1像素,並將結果作爲「UIColor」返回。 – 2012-08-28 12:05:15

0

所有像素的平均顏色?做一個直方圖並找出'n'峯值的平均值?

1

Google功能提供12種顏色來匹配圖像。所以我會計算這些色板中的每一個的Lab座標,並在二維空間上繪製這些顏色中的每一種的(a*, b*)座標。我會放棄L*組件,因爲像素的亮度(亮度)應該被忽略。使用(a*, b*)空間中的12個點,我會使用Voronoi Diagram來計算分區。然後對於一個給定的圖像,我會採取每個像素,計算其座標(a*, b*)。對圖像中的每個像素執行此操作,並在每個Voronoi分區中構建計數的直方圖。包含最高像素數的分區將被視爲圖像的「顏色」。

這將形成算法的基礎,雖然會有與忽略感知上不被認爲是圖像主題的一部分的黑色和白色背景區域相關的改進。

+0

你能詳細說說這個技術嗎? – Suyash 2012-07-23 09:43:57

+0

請注意,「L」是亮度或「亮度」值(而不是「b」)。 – Arel 2014-08-27 23:56:13