2013年8月15日 星期四

淺談computer vision color detection .

淺談computer vision color detection .

bitmap基本的格式
透過android可取得bitmap上argb的32 bits位元,在此忽略alpha的影響只取RGB,將RGB轉成HSV格式,HSV是指H指hue(色相)、S指saturation(飽和度)、V指value(色調) 之color space,比起RGB它類似於人類感覺顏色的方式,具有較強的感知度,基本上一個是色環上有360度,每30度變換一種色彩,相對的顏色互補,RGB轉HSV有基本的公式,事實上我認為下面這圖直接解釋了對應關係
wiki上有詳盡的解釋以及資料
中文
英文 資料細節較為詳盡

我採用的第一種辨識方式就透過分析HSV的分布 將顏色分成12種
透過saturation 的程度分成色階以及灰階value分三種程度分別為鮮明的色彩 暗黑的色彩 以及黑色
此種分辨方法較為清楚且辨識度蠻高的,缺點是12種色彩的定義有些太相近。

第二種方法使用Nine color model

分辨法為下
(1) Value (V) was substituted by the Y of YIQ color
model.
(2) Black region: V<=0.225, S<=0.225 and V<0.8.
Code=1.
(3) White region: S<=0.225 and V>=0.8. Code=2.
(4) Color region: H ([0,360]) was divided into seven
intervals, [330, 20), [20, 35), [35, 65), [65, 165), [165,
200), [200, 270), [270, 330). The Code in turn were 3, 4,
5, 6, 7, 8, 9, namely red, orange, yellow, green, cyan, blue
and magenta, respectively.
取得九種顏色資料,此種辨識方法為一般監視器系統的色階,直接取得九種人類最常使用的九種顏色,辨識度似乎也比較簡略。