2013-06-02 180 views
2

我有一些正方形,每個有4種顏色(紅色,綠色,藍色等)。 我想製作一個程序,可以識別顏色(通過網絡攝像頭),將它們記憶在文本文件或其他內容中,然後再次看到同一個方塊來識別它。 我試圖對每種顏色做一些RGB限制,當程序處理圖片以比較每個方塊的RGB與我的限制時。顏色從圖像

我似乎遇到的問題是,在不同的環境中(或多或少的光)算法失敗。它將橙色視爲綠色,或者不識別紅色或其他類似問題。

是否有更好的方法來比較顏色,或者我應該不斷努力尋找每種顏色的更好的限制?

謝謝!從RGB

+0

您確定自動白平衡處於打開狀態嗎? –

+0

圖像的顏色與環境中燈光的顏色有關。正如@HenkHolterman所說,無論是白平衡都有幫助,還是需要採樣白色,並使用它來預處理圖像以校正顏色。 – cgTag

回答

2

轉換爲HSV,作爲初始步驟(它是圖像處理/比較運算更好的色彩空間 - 見this對細節或Wikipedia entry有關此顏色空間更一般的信息)

的RGB和HSV之間的轉換很簡單,並且可以通過快速搜索找到大量樣本公式和代碼。之後,僅使用Hue頻道進行比較,原因在於之前的鏈接中所述的原因。在不同的照明條件下你應該有更好的結果。

+0

非常感謝您的信息!從RGB到HSV的轉換似乎對我有很大幫助! @HenkHolterman,之前從來沒有聽說過Auto-White-Balance,但我google了它,併爲我的項目給了我一些新的想法! – relysis