LabVIEW色彩匹配實(shí)現顏色識別、顏色檢驗(基礎篇—13)
色彩匹配(Color Matching)是將模板圖像與待測圖像或其中某一區域的顏色進(jìn)行比較,判斷它們是否相同或相近的過(guò)程。它可以用于顏色識別、顏色檢驗以及彩色對象定位等基于色彩信息比較的應用程序。
色彩匹配通常分為色彩學(xué)習(Color Learning)和色彩比較(Color Comparing)兩步。
在色彩學(xué)習階段,系統會(huì )對模板圖像或區域的顏色信息進(jìn)行量化,并基于各種顏色及對應像素占總像素的百分比來(lái)生成顏色特征向量;
在色彩比較階段,系統會(huì )將模板和待測圖像的顏色特征向量進(jìn)行比較,并返回它們之間的相似度指標。
如何才能判斷兩幅圖像中的顏色是否相同呢?
當然是從圖像中不同顏色的像素統計信息入手。對于兩幅尺寸和顏色相同的圖像來(lái)說(shuō),圖像中每種顏色的像素數均相同。對于尺寸不同但顏色相同的圖像來(lái)說(shuō),圖像中每種顏色的像素數不相同,但是兩幅圖像中每種顏色的像素數占總像素數的比例卻相同??紤]通用性,可以將圖像中各種顏色對應的像素數占圖像總像素數的比例作為顏色比較的特征向量。
但是,若對圖像中所有顏色都進(jìn)行統計,生成的特征向量就會(huì )很大,這極不利于系統對實(shí)時(shí)性的要求。因此還要再進(jìn)一步對特征向量進(jìn)行優(yōu)化。
由于HSL色彩空間具有亮度和色彩信息分離的特點(diǎn),因此可以將圖像轉換至HSL空間中,再基于色調和飽和度構成的色盤(pán)對顏色進(jìn)行量化。這樣得到的顏色特征向量不僅不會(huì )受到亮度變化的影響,還能根據程序對顏色分辨率的需要,調整量化等級以減少特征向量的數據量。
下圖顯示了提取圖像顏色特征向量的過(guò)程:
色譜提取
首先彩色圖像被轉換至HSL色彩空間,以分離亮度和顏色信息。由于亮度128對應的色盤(pán)最大(中間),因此可以?xún)H抽取該色盤(pán)進(jìn)行量化。量化時(shí)先根據對顏色分辨率的需要,將色盤(pán)等分為多個(gè)扇區。顏色敏感度(color sensitivity)參數用來(lái)確定色盤(pán)具體被劃分為多少個(gè)扇區。
Nl Vision采用低、中、高3擋顏色敏感度值來(lái)控制顏色的分辨率。低擋將色盤(pán)分為7個(gè)扇區,中擋將色盤(pán)分為14個(gè)扇區,高擋則將色盤(pán)分為28個(gè)扇區。扇區越多,說(shuō)明量化的分辨率越高。色盤(pán)被等分為扇區后,就可以進(jìn)一步沿著(zhù)飽和度方向進(jìn)行分割。Nl Vision將各扇區沿飽和度方向分為兩塊,具體分割位置由飽和度閾值(saturation threshold)決定,它控制了每個(gè)扇區分為兩塊的內圓的半徑。
在色彩學(xué)習階段,機器視覺(jué)系統會(huì )從模板圖像或區域中提取其色譜。在匹配階段,機器視覺(jué)系統同樣會(huì )從目標圖像中提取其色譜,并比較其與模板圖像色譜的差異。而色譜之間的差異則可使用兩個(gè)向量之間的曼哈頓距離來(lái)定量評價(jià)。
在實(shí)際中,為了補償色彩量化過(guò)程中可能發(fā)生的一些錯誤,一般都會(huì )在計算色譜之間的距離之前使用模糊權重函數對色譜進(jìn)行加權。通過(guò)色譜間的曼哈頓距離(各元素間差異的絕對值求和),最終生成一個(gè)在0~1000之間的表示差異度的值。下圖顯示了上述色彩比較過(guò)程,其中0表示色譜之間沒(méi)有相似性,而1000分表示完美匹配。

綜上所述,色彩匹配實(shí)際上就是比較圖像或圖像區域的色譜與模板圖像的色譜是否相同或相近的過(guò)程。在學(xué)習階段,機器視覺(jué)系統會(huì )提取指定模板圖像或選擇圖像的色譜,其中圖像的顏色信息可以由一種或多種顏色組成。色譜提取過(guò)程可將圖像中的三維顏色信息量化表示為一維色譜。在顏色匹配階段,機器視覺(jué)系統會(huì )提取待測圖像中的色譜,并與學(xué)習到的模板色譜進(jìn)行比較,最后計算色譜的匹配度。
Nl Vision使用位于LabVIEW的視覺(jué)與運動(dòng)→lmage Processing→Color Processing函數選板中的IMAQ Color Learn和IMAQ ColorMatch函數分別封裝了上述色彩學(xué)習和匹配過(guò)程?;诘玫降纳V及其匹配度數據,機器視覺(jué)系統可設置閾值來(lái)實(shí)現顏色識別、顏色檢測、顏色定位以及其他基于色彩比較的應用程序,如下圖所示:

函數說(shuō)明及使用可參見(jiàn)幫助手冊:

1
顏色識別
顏色識別(Color ldentification)是指從預先定義的模板圖像色彩中搜尋與待測圖像顏色能最佳匹配者,以確定待測圖像顏色的歸屬。
顏色識別應用一般會(huì )預先學(xué)習各種模板圖像的顏色,并將其連同圖像標簽保存至數據庫中。通過(guò)將被測圖像的顏色信息與數據庫中的記錄進(jìn)行比較,獲取與其最接近的記錄,并返回對應的圖像標簽。
通過(guò)一個(gè)一個(gè)顏色識別的實(shí)例程序了解其使用方法,程序設計思路如下所示:
程序總體分為模板圖像顏色學(xué)習和顏色匹配兩部分,一開(kāi)始先用For循環(huán)將存放在文件夾中的6幅模板圖像逐讀入內存,并用IMAQ ColorLearn提取各圖像的色譜,以供后續匹配過(guò)程進(jìn)行比較;
隨后,程序將待測圖像UUT.jpg讀入內存,并由For循環(huán)中的IMAQ ColorMatch計算其色譜,并與之前由IMAQ ColorLearn學(xué)習到的6個(gè)色譜逐一進(jìn)行比較,以確定與之匹配的圖像;
由于IMAQ ColorMatch可對同一ROl中的多個(gè)輪廓進(jìn)行顏色匹配,因此其返回的匹配標記(Flag)和匹配度分值(Score)均為數組,其元素的值與ROI中輪廓的順序對應;
對于整幅圖像匹配來(lái)說(shuō),相當于只有一個(gè)ROl和一個(gè)輪廓,因此僅取首個(gè)元素的值即可。由于程序設置了匹配度的閾值為800,因此從運行結果可以看到,被測圖像的顏色與第5幅模板圖像的顏色最匹配。
程序實(shí)現如下所示:

程序效果如下所示:

2
顏色檢驗
顏色檢測(Color Inspection)是指通過(guò)檢查產(chǎn)品顏色是否與預知色彩相同來(lái)實(shí)現產(chǎn)品的缺陷檢測。如檢測產(chǎn)品是否缺少或有放錯的彩色部件,搜索彩色部件以及進(jìn)行彩色標簽的缺陷檢測等。
通過(guò)顏色檢測來(lái)檢查汽車(chē)保險絲安裝情況的實(shí)例,了解其使用方法,程序設計思路如下所示:
程序一開(kāi)始先讀取黃色保險絲模板圖像,并用IMAQ ColorLearn學(xué)習模板圖像的色譜;
此后,While循環(huán)逐個(gè)將待測圖像文件夾中的圖像讀入內存,并調用IMAQ ColorMatch進(jìn)行顏色匹配;
由于指定的ROI中包含兩個(gè)對應于待測保險絲位置的矩形輪廓,因此IMAQ ColorMatch返回的匹配標志和匹配分值數組中的前兩個(gè)元素有效,分別按順序對應于對ROI中的兩個(gè)輪廓位置的檢測結果;
根據返回的匹配標志的值是否為真,可以清楚獲知每個(gè)位置上的保險絲是否被正確安裝。
只有當兩個(gè)位置上的保險絲均被正確安裝時(shí),整個(gè)測試才能通過(guò)。
程序實(shí)現如下所示:

程序能檢查第二行的第二和第三個(gè)位置是否正確安裝了型號為20的黃色保險絲。下面效果還顯示了檢測到ROI第一個(gè)輪廓對應位置未安裝保險絲的情況。同樣,當這兩個(gè)位置安裝的保險絲為其他類(lèi)型時(shí),測試也不能通過(guò)。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
fpga相關(guān)文章:fpga是什么
可控硅相關(guān)文章:可控硅工作原理
51單片機相關(guān)文章:51單片機教程
比較器相關(guān)文章:比較器工作原理
交換機相關(guān)文章:交換機工作原理
晶振相關(guān)文章:晶振原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理