江門彩立方光電科技有限公司 陳漱文
?
基于圖像處理的一種燈陣排布識別方法
江門彩立方光電科技有限公司 陳漱文
【摘要】本文基于圖像處理技術設計了一種識別燈陣走線方式和燈珠位置的方法。相比于以往靠人工來識別燈陣排布的方式,該種方法可以以自動化的方式完成重復繁多的識別過程,提高了設計效率和控制準確率,尤其對于采用大量顯示點的巨型燈陣,能夠迅速和輕松的完成燈陣排布的識別工作,為后續(xù)的LED點陣控制、顯示效果制作提供準確的基礎性坐標數(shù)據文件。
【關鍵詞】圖像處理;顏色空間;燈陣排布
LED的內在性質決定了它具有體積小、耗電低、壽命長、亮度高、顏色豐富等特征優(yōu)點,在戶外亮化、商業(yè)裝飾、發(fā)光字等實際工程中都有很好的應用。通常,產品在設計之處會按照具體的顯示輪廓(可以是二維也可以是三維)來確定燈陣的排布,燈陣的排布就是將LED燈珠或燈組按照一定的方式安裝到產品表面(產品也可以是貼裝LED燈珠的PCB板),之后再使用對應控制器便可以讓燈陣工作在符合客戶預期的顯示效果上。顯示效果的制作由彩立方光電科技有限公司自主研發(fā)的效果生成軟件來完成,其中燈陣排布的識別是制作顯示效果的基礎。
1.1燈陣排布的識別方法
在制作顯示效果之前必須要知道燈陣的布線方式和連接方式,經過工程應用驗證這里主要介紹兩種方法,分別是正向式識別方法和反向式識別方法,各有其適用性以及特點。
(1)正向式識別方法。正向式識別方法就是根據PCB的布線文件或燈珠安裝文件確定產品燈陣中每個燈珠或燈組的坐標,并得到一份坐標文件,坐標文件包含每個燈珠或燈組的現(xiàn)實坐標信息和物理地址信息,這兩個信息一一對應。軟件效果制作人員會根據這份坐標文件制作出符合用戶期待的顯示效果。
(2)反向式識別方法。反向式識別方法不需要查看相應的PCB的布線文件或燈珠安裝文件,而是通過一段特定的程序來驅動點亮燈陣,燈陣中的燈珠或燈組會按照實際的連接和走線方式順次點亮,在這個過程中通過人眼或機器視覺的方法描繪出包含燈珠或燈組的現(xiàn)實坐標信息和物理地址信息的燈陣排布坐標文件。這種方法是根據工作效果反推出其PCB的布線文件或燈珠安裝文件,所以被稱為反向式識別方法。
1.2燈陣排布識別方法比較
正向式識別方法是比較傳統(tǒng)的識別方法,通常更適用于燈陣結構比較規(guī)則的產品,PCB設計人員或安裝人員會按照某些規(guī)則來設計燈陣的走線情況,比如逐行布置、逐列布置、S形布置等,如圖1所示,目的是讓燈陣結構簡單明了。正向式識別方法是直觀、常規(guī)的識別方法,在燈陣結構簡單、燈陣中燈珠或燈組數(shù)量不多的情況下可以快速有效地制作出燈陣排布坐標文件。
圖1 燈陣布置示意圖
反向式識別方法相對來說更靈活一些,PCB設計人員或者安裝人員可以根據具體的產品結構或應用場景按照最方便布線的方式來任意布局LED燈珠或燈組。反向式識別方法中可以通過人眼來描繪出燈陣排布坐標文件,也可以通過機器視覺來描繪坐標文件。用機器視覺來代替人眼完成描繪燈陣排布坐標文件的工作,在燈陣結構復雜、燈陣中燈珠或燈組數(shù)量較多的情況下有很大的優(yōu)勢,可以降低人工成本,提高識別效率以及準確率。本文重點介紹的便是采用圖像處理技術的燈陣排布識別方法,以更先進更高效性的方式來完成燈陣排布的識別工作。
基于圖像處理的燈陣排布識別方法,其實現(xiàn)過程可以簡單描述如下:
(1)選擇合適的取景范圍,取景的大小應充分包含所要拍攝燈陣的整體輪廓,打開攝像裝備;
(2)利用特定的程序以一定的時間間隔(如間隔1s)按照燈珠或燈組的實際連接順序依次點亮,攝像裝備會完整記錄這個過程并保存為一個視頻格式文件;
(3)使用燈陣排布識別軟件來打開該視頻文件,軟件會執(zhí)行圖像處理,生成包含每一個燈珠或燈組物理ID信息和像素坐標信息的坐標文件;
在步驟(2)拍攝燈陣時,順次點亮燈珠或燈組的策略是:將燈陣中待識別的燈珠或燈組亮紅色(80%亮度)其他亮綠色(30%亮度),這樣通過拍攝獲得的圖像或視頻文件可以很容易獲取到待識別的ROI區(qū)域,這個ROI區(qū)域具有明顯的顏色特征(紅色)以及亮度特征(高亮度),通過圖像處理技術可以容易地分離出該ROI區(qū)域,并得到其中心像素坐標,像素坐標與燈陣中每個燈珠或燈組的現(xiàn)實世界坐標具有一一對應的關系,通過設計的轉換函數(shù)可以簡單實現(xiàn)像素坐標與現(xiàn)實坐標之間的相互轉換。
本方法是通過圖像處理技術來處理拍攝到的圖片或視頻,進而識別燈陣中顯示點的分布情況,因此在燈陣生產或安裝之初不需要考慮燈串的排布方法,在生產時可以對燈串按照實際需要進行任意的走線排布,這樣能夠大大的提高燈陣的生產效率。通過圖像處理后可以識別出所有燈陣顯示點的坐標,同時將每個顯示點的坐標與其物理地址進行對應并生成相應的數(shù)據庫,然后軟件效果制作人員就可以利用這個數(shù)據庫文件精確控制每個顯示點,從而制作出所需的顯示效果。本方法能夠大大的減少以往人工識別的重復繁多的操作工程,提高了設計效率和控制準確率。
3.1圖像數(shù)據的讀入
通過攝像頭獲取的圖像質量直接關系到后續(xù)圖像處理的復雜程度以及最終結果的準確度,如圖2所示為一組拍攝的實際燈陣圖,分別讓燈陣中的燈珠以紅色、綠色、藍色、綠色背景下亮紅色這樣的方式順次點亮,在拍攝圖片過程中得到以下經驗:
(1)環(huán)境的亮度會影響拍攝到的圖片質量,高亮度環(huán)境下由于燈板表面的反射,會產生較多的噪點[1],并且ROI區(qū)域輪廓不明顯,不利于后續(xù)的圖像處理,所以拍攝時需要選擇合適的環(huán)境亮度。
(2)燈珠點亮的程度會影響拍攝到的圖片質量,顯示點的亮度過高,通過攝像頭獲得的顯示光斑就會相應的變大,但是如果顯示點的亮度過低,拍攝時可能會和攝像頭的噪點混合在一起,導致難以識別,因此拍攝時需要將顯示點的亮度調整到合適的值,同時攝像頭也應選取合適的感光度、曝光時間以及拍攝分辨率,以便于獲取清晰可辨的圖像,有利于提高識別的精度[2]。
(3)對比亮紅色、綠色、藍色、綠色襯托下的紅色這樣的點亮方式,拍攝到的圖像質量以綠色襯托下的紅色這樣的點亮方式為最佳,可以有效地減少光暈并且ROI區(qū)域更明顯,利于圖像處理獲得更精準的ROI區(qū)域像素坐標。
圖2 點亮方式選擇
3.2顏色空間的選擇
常用的顏色空間有RGB、CMY、HSV、HSI等,其中RGB是比較常見的一種顏色空間,可以將R、G、B看做一個三維坐標系,坐標系中的每一個點都可以代表一種顏色[2-3];HSV是一種直觀的顏色空間,它符合人類的視覺系統(tǒng)對顏色空間的理解方式,H是色相 ,S是飽和度,V是純度;HSI空間與HSV空間相似,也是以人類的視覺系統(tǒng)為基礎的,其中H與S同樣代表色相和飽和度,I代表的是強度。在實際應用中,RGB顏色空間容易受到強光、弱光等環(huán)境因素的影響,相比之下HSV或HSI顏色空間會更穩(wěn)定一些,同時更符合人類的視覺特征,也正因為如此它被廣泛地應用與機器視覺領域[4-6]。本文選擇的顏色空間是HSV。
3.3顏色空間的轉換
轉換顏色空間是為了縮小不同的顏色空間在屬性上存在的較大的差異,本文采用普通攝像頭讀入RGB顏色后,再將RGB顏色轉換為HSV顏色[4-5],在OpenCV中顏色空間的轉換使用cvtColor(InputArray src,OutputArray dst,int code,intdstCn)函數(shù)來實現(xiàn)。RGB到HSV的數(shù)學轉換函數(shù)如下所示:
R、G、B:為RGB顏色空間中的紅色、綠色、藍色3個分量的值;
H、S、V:為HSV顏色空間的色度、飽和度、純度的值;
3.4圖像處理部分算法實現(xiàn)
圖像處理部分的算法實現(xiàn)步驟如下所示:
(1)攝像頭采集視頻圖像,并保存為一個視頻文件;
(2)利用OpenCV函數(shù)讀取視頻文件并得到圖像的幀序列;
(3)對圖像進行高斯濾波及中值濾波處理;
(4)將圖像由RGB轉為HSV;
(5)將得打的圖像分為H、S、V三幅單通道圖像;
(6)創(chuàng)建滑動條窗口,可以改變顏色參數(shù)閾值,進而可以得到符合目標顏色的色度、飽和度、純度的單通道圖像;
(7)對得到的圖像進行膨脹與腐蝕處理;
(8)得到二值化圖像;
(9)對二值化圖像進行開運算,消除小物體,然后再進行依次閉運算填充圖像縫隙;
通過以上步驟后,可以得到如圖3所示的圖像處理結果,結果表明通過上述處理方法可以準確得到燈陣中的紅色亮點。
圖3 圖像處理結果
(10)使用Canny檢測邊緣,并繪制出輪廓,主要使用到的OpenCV函數(shù)如下: Canny()函數(shù),該函數(shù)需要輸入一副灰度圖像,然后會輸出一副灰度圖像;findContours()函數(shù),該函數(shù)從二值函數(shù)中檢索出輪廓;drawContours()函數(shù)將檢測到的輪廓繪制出來。
(11)計算矩和中心像素坐標。
(12)像素坐標與世界世界坐標轉換。
本文以實際拍攝的燈陣產品圖像為研究對象,使用 OpenCV對其進行軟件實現(xiàn)和算法設計,實現(xiàn)了基于圖像處理的燈陣排布識別方法設計。文章的主要內容包括:
(1)闡述工程應用中使用到的燈陣排布識別方法,本文將其按照實現(xiàn)邏輯分為正向式識別方法和反向式識別方法,介紹了這兩種識別方法的實現(xiàn)原理,并且通過比較描述了這兩種方法各自的特點以及適用性。
(2)比較目前用到的顏色空間如 RGB、CMY、HSV、HSI等,選擇了適合本處理方法的HSV顏色空間做顏色閾值分割,同時對轉換到HSV顏色空間的色度、飽和度、純度顯著特征進行檢測,結合局部深度信息特征做出決策最終實現(xiàn)對燈陣中紅色亮點的檢測。
(3)在拍攝燈陣產品時,針對其特性考慮到環(huán)境亮度、燈珠或燈組點亮亮度對圖像識別時的影響建立了對比模型,通過分析對比后,提出了待識別燈珠或燈組亮紅色(80%亮度)其他亮綠色(30%)這樣“綠葉襯紅花”的優(yōu)化設計,圖像處理結果達到了優(yōu)秀的預期結果。
參考文獻
[1]張寧,何鐵軍,高朝暉,等.道路場景中交通標志的檢測方法[J].交通運輸工程學報,2008,8(6):104-109.
[2]Cai Z X,Gu M Q,Li Y.Real-time arrow traffic light recognition system for intelligent vehicle[C].Proceedings of The World Congress in Computer Science,Computer Engineering,and Applied Computing.2012:64-65.
[3]武瑩,張小寧,何斌.基于圖像處理的交通信號燈識別方法[J].交通信息與安全,2011,03:51-54.
[4]曹建農.圖像分割的熵方法綜述[J].模式識別與人工智能,2012,06:3958-971.
[5]龔聲蓉,劉純平,趙勛杰,蔣德茂.數(shù)字圖像處理與分析[M].清華大學出版社,2014,5 .
[6]姜志高.基于二值化處理與模板匹配的圖像識別[J].才智,2011,26:72-74.