將OpenCV 用於識別彩色LED顏色


將OpenCV 用於識別彩色LED顏色時,可以通過分色計算各通道非飽和像素的HSV值,能可靠識別各LED的顏色。


使用python編程,識別一個1024*480的BGR圖像時,耗時約50毫秒。


可以大概識別LED的圓心座標、可以準確識別LED的色彩。記住,在識別前,要先對三通道彩色圖進行模糊化處理。


最後統計ROI區域的H值總和,以及區域內非零像素的數量,求有效平均即可。



原始圖像:


識別出來的圖像



共檢測出12個亮的LED;  本次計算耗時:     55 ms.

結果:      ok ; LED編號:   1 ; 期望顏色:  YG, 實際顏色 :  YG;期望狀態: 亮, 實際狀態: 亮;位於座標  (509,383) 
結果:      ok ; LED編號:   2 ; 期望顏色:  YG, 實際顏色 :  YG;期望狀態: 亮, 實際狀態: 亮;位於座標  (342,375) 
結果:      ok ; LED編號:   3 ; 期望顏色:   R, 實際顏色 :   R;期望狀態: 亮, 實際狀態: 亮;位於座標  (451,315) 
結果:      ok ; LED編號:   4 ; 期望顏色:   O, 實際顏色 :   O;期望狀態: 亮, 實際狀態: 亮;位於座標  (259,309) 
結果:      ok ; LED編號:   5 ; 期望顏色:   O, 實際顏色 :   O;期望狀態: 亮, 實際狀態: 亮;位於座標  (514,275) 
結果:      ok ; LED編號:   6 ; 期望顏色:   B, 實際顏色 :   B;期望狀態: 亮, 實際狀態: 亮;位於座標  (351,268) 
結果:      ok ; LED編號:   7 ; 期望顏色:   R, 實際顏色 :   R;期望狀態: 亮, 實際狀態: 亮;位於座標  (436,212) 
結果:      ok ; LED編號:   8 ; 期望顏色:   O, 實際顏色 :   O;期望狀態: 亮, 實際狀態: 亮;位於座標  (264,201) 
結果:      ok ; LED編號:   9 ; 期望顏色:   B, 實際顏色 :   B;期望狀態: 亮, 實際狀態: 亮;位於座標  (563,149) 
結果:      ok ; LED編號:  10 ; 期望顏色:   W, 實際顏色 :   W;期望狀態: 亮, 實際狀態: 亮;位於座標  (351,145) 
結果:      ok ; LED編號:  11 ; 期望顏色:   G, 實際顏色 :   G;期望狀態: 亮, 實際狀態: 亮;位於座標  (438,82) 
結果:      ok ; LED編號:  12 ; 期望顏色:   W, 實際顏色 :   W;期望狀態: 亮, 實際狀態: 亮;位於座標  (287,68) 
結果:      ok ; LED編號:  13 ; 期望顏色:   W, 實際顏色 : 滅;期望狀態: 滅, 實際狀態: 滅;位於座標  (1287,68) 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章