Just My Life & My Work

期末利用兩個禮拜的時間完成「車輛顏色分類」的專案,我們人很容易辨識顏色,可是對於電腦可沒那麼容易,若以RGB顏色空間還不夠精準,而HSV能夠更精準來描述色彩,這顛覆我之前以為任何顏色都可以RGB來區分的想法。

維基介紹:HSL 和 HSV(也叫做 HSB)是對RGB 色彩空間中點的兩種有關係的表示,它們嘗試描述比 RGB 更準確的感知顏色聯繫,並仍保持在計算上簡單。HSL 表示 hue(色相)、saturation(飽和度)、lightness(亮度),HSV 表示 hue、 saturation、value(色調) 而 HSB 表示 hue、saturation、brightness(明度)。

color space ex

我以OpenCV來實做,函式庫提供RGB和HSV顏色空間互轉的函式,分析影像中H和S的關係即可輕易地分出red、yellow、green、blue、indigo、purple、pink、black、white,但還是不能分辨gray,我想有必要引進V

※H-S直方圖

H分為16種顏色,S分為8個程度。在此我經觀察每個影像顏色在H-S圖上的分部後,得出以3個H顏色為主要顏色最恰當。範圍[0,15],red(0,14,15)、yellow(1,2,3)、green(4,5,6)、blue(7,8,9)、indigo(9,10,11)、purple(11,12,13)、pink(13,14,15),將該區域的H-S值累加後,比較最高和次高的色彩為何,分別為第一名、第二名色彩。Black為H=0且S=0時的值(H-S直方圖最左端白色部份),white為H=0、1、…、15且S=0時值的加總。

HS圖

#未來工作:

1.          分辨主要顏色之中間顏色。如red和yellow中間的orange,現今會被分類到yellow,又如較亮的green可能會被分到yellow。

2.          分辨black和white中間的gray。現今可以分辨black和white,然而一張gray車輛的影像會被分類為black或white。若black和white色系的車輛在真實場景中拍攝,多數會受到環境光的影響,使得車子表面顏色偏blue。

3.          環境光的影響需考慮進去,red、yellow、green、blue被環境光所影響程度較小,black、white、gray被影響程度則較大。於是對於車商所拍攝的展示車輛,若在室內拍攝,場景全黑,只有車子被打上white聚光燈,如此車輛的顏色會相當純正;若在室外拍攝,場景可能會在藍天、綠地、灰色公路上,依我的經驗,天空blue影響較多。

4.          自行拍攝的車輛影像可以應用在車輛顏色分類系統,例如公路截影。

5.          加入HSV的V(Value)值,來辨識black和white間系列的gray影像。

 

參考:HSL和HSV色彩空間

Comments on: "圖形辨識期末專案—車輛顏色分類 (Final Project – Car Color Classification)" (7)

  1. Luke 的大頭貼

    請問知道紅色範圍後,直接在程式上選取要的(紅色)範圍就可以了嗎?

    p.s.我參考的程式
    a href="http://www.opencv.org.cn/index.php?title=%E5%9B%BE%E5%83%8F%E9%A2%9C%E8%89%B2%E5%88%86%E5%B8%83%E7%9B%B4%E6%96%B9%E5%9B%BE&variant=zh-tw" target="_blank">圖像顏色分佈直方圖
    謝謝回答:)

  2. Luke 的大頭貼

    請問以H-S圖分析完圖片顏色後如何能知道這是什麼顏色呢?(如果是以純紅色圖片舉例)

  3. 未知 的大頭貼

    […] 圖形辨識期末專案—車輛顏色分類 (Final Project – Car Color Classification) […]

  4. 未知 的大頭貼

    […] 視窗程式若能對滑鼠事件 (Mouse Event)產生反應,那麼這個程式就比較友善:P,因為要做圖形辨識project的關係,我要讓使用者能在影像上做標記,接著對標記內容做分析,然後我要做的是車輛顏色分類 (Car Color Classification)。 我寫的程式碼並不長,在這裡秀出來: […]

回覆給[OpenCV] 滑鼠事件 (Mouse Event) « 逍遙文工作室 取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲