2009-04-23 70 views
1

在一些很久以前的Flash會議上,我記得看到一個帶有顏色選擇器的Flash應用程序演示。基於用戶的顏色選擇,應用程序會在該顏色的大致範圍內向用戶顯示一組圖像:一堆大多是紅色圖像,一堆大多是藍色圖像等。圖片按顏色/顏色範圍瀏覽:需要示例和/或代碼

我正在尋找兩個東西: 1)這類應用程序的演示的鏈接,最好是Flash應用程序 2)ActionScript或C#代碼,用於描述如何挑選顏色範圍內的一組圖像。

我知道如何從單個圖像中提取聚合/平均RGB並將此信息保存到數據庫。我需要知道如何在特定顏色容差範圍內選擇圖像。這是否可以純粹使用SQL和RGB顏色代碼的字母數字賦值的知識來完成,還是有更好的方法?

回答

1

我找不到任何示例代碼,但找到了一個article,它給出了他們的過程的高級解釋(從其他page關於Flickr的功能搜索具有相似顏色的圖像)。顯然,Google也可以讓你用他們的圖片搜索做到這一點(但我不知道它是來自元數據標籤還是實際的顏色匹配)。

我們實際的答案:

而不是僅僅存儲平均值或合計顏色的圖像,您將需要存儲圖像的「彩色簽名」。

我的第一個(猜測)的想法將帶來下列步驟操作:

  1. 生成圖像的每個顏色波段直方圖
  2. 產生一些因素描述每個直方圖曲線(平均值,方差,STD-開發,等等 - 這些因素都將讓你的形象您的數字簽名)
  3. 在數據庫中存儲這些因素(以及每種因素會在數據庫索引)

然後,您將輸入您的輸入(顏色,顏色範圍或源圖像),針對該源運行您的直方圖算法,並搜索與計算出的因子匹配的結果。

+0

謝謝,埃裏克,這讓我開始了。這本書Flickr Hacks有一些有用的代碼,它是Hack#45。 Book is here:http://www.amazon.com/Flickr-Hacks-Sharing-Photos-Online/dp/0596102453 – kendor 2009-04-23 17:53:18

1

我在評論中引用的Flickr Hacks解決方案是我發現的最好的方法:它使用常見的算法將圖像大小調整爲1x1像素,從而爲整個圖像提供平均顏色。聰明。