LabVIEW紋理分析(基礎(chǔ)篇—9)
紋理(Texture)是物體表面固有的特征之一。目前對于紋理尚無正式的定義,但一般認(rèn)為它是由許多相互連接且常周期性重復(fù)的單元構(gòu)成。與灰度特征不同,紋理不是基于單個(gè)像素點(diǎn)的特征,它通常與圖像的尺度關(guān)系密切,且具有區(qū)域性和統(tǒng)計(jì)特征。
通常來說,在放大后的圖像上可以觀察到目標(biāo)表面的紋理。而且一般來說,紋理特征需要在包含多個(gè)像素點(diǎn)的圖像區(qū)域中進(jìn)行灰度統(tǒng)計(jì)才能獲得。紋理特征的這種區(qū)域性可使特征匹配過程不會因局部的偏差而失敗。因此通過紋理分析,可對物體表面尺寸和形狀的變化進(jìn)行檢測,如劃痕(Scratch)、裂紋(Crack)和污漬(Stain)等。
紋理分析常用于對具有不規(guī)則紋理圖案的目標(biāo)表面進(jìn)行檢測,如瓷磚、紡織品、木材、紙張、塑料或玻璃的表面等。
多數(shù)基于紋理分析的機(jī)器視覺應(yīng)用使用紋理分類器(Texture Classifier)進(jìn)行檢測。紋理分類器可通過對無缺陷的標(biāo)準(zhǔn)樣本目標(biāo)進(jìn)行學(xué)習(xí)獲得,其中包含樣本的紋理特征信息。檢測時(shí),算法會將被測目標(biāo)中的紋理特征與紋理分類器中的特征信息進(jìn)行匹配,并將不能接受的區(qū)域標(biāo)識為缺陷。
通常來說,紋理分析過程會以目標(biāo)的表面圖像為輸入,并以二進(jìn)制大顆粒(Binary Large OBjects,BLOB)的形式輸出檢測結(jié)果。獲得缺陷部分的BLOB后,可以進(jìn)一步使用顆粒分析工具對其屬性、尺寸等進(jìn)行分析。
適用性強(qiáng)的紋理分析檢測過程不僅應(yīng)對于噪聲有較強(qiáng)的抵抗能力,還應(yīng)具有平移不變(Shift-Invariant)、旋轉(zhuǎn)不變(Rotate-Invariant)和尺度不變(Scale-Invariant)的性質(zhì)。也就是說,相較于紋理分類器中的紋理特征而言,即使被測目標(biāo)中的紋理特征垂直或水平移動(dòng),在平面內(nèi)旋轉(zhuǎn)或有一定比例的縮放,紋理分析檢測過程仍能繼續(xù)正確地識別它們。一般的紋理檢測過程都具有平移不變的性質(zhì),且能支持±5°的旋轉(zhuǎn)和±10°的縮放。
若要支持更大范圍的旋轉(zhuǎn)不變和尺度不變性,則要通過學(xué)習(xí)和訓(xùn)練過程,創(chuàng)建包含各個(gè)方向和比例紋理特征信息的紋理分類器。此外,還應(yīng)注意在紋理匹配過程的執(zhí)行速度與旋轉(zhuǎn)不變和尺度不變性范圍之間進(jìn)行平衡。
由于紋理特征與圖像的尺度、區(qū)域及灰度統(tǒng)計(jì)數(shù)據(jù)具有密切聯(lián)系,因此NI Vision使用離散小波變換和統(tǒng)計(jì)的方法來提取紋理特征并對其進(jìn)行分類檢測。一般的紋理檢測過程如下圖所示,主要包括以下步驟:
Nl Vision使用位于LabVIEW的視覺與運(yùn)動(dòng)→lmage Processing→Texture函數(shù)選板中的VI對上述過程進(jìn)行封裝,如下圖所示:
函數(shù)說明及使用可參見幫助手冊:
?
?其中:
IMAQ Extract Wavelet Bands可執(zhí)行小波變換從紋理圖像中提取各種子帶圖像;
IMAQ Cooccurrence Matrix能計(jì)算圖像的共生矩陣和Haralick特征;
IMAQ Extract Texture Feature對子帶提取、共生矩陣計(jì)算和Haralick特征提取與連接進(jìn)行了集成,可直接返回計(jì)算得到的紋理特征;
IMAQDetect Texture Defect不僅集成了整個(gè)紋理特征的提取過程,還集成了按照紋理分類器對紋理進(jìn)行分類的過程,它能以二值圖像輸出檢測到的紋理缺陷。
通過一個(gè)墻壁紋理或缺陷檢測的實(shí)例,了解紋理分析的實(shí)現(xiàn)方法,程序設(shè)計(jì)思路如下所示:
程序一開始先由IMAQ Read ClassifierFile從分類器文件Texture.clf中讀取事先訓(xùn)練好的紋理特征信息,并為后續(xù)處理分配內(nèi)存;
循環(huán)結(jié)構(gòu)中的代碼,逐一從文件夾中取出被測圖像,在用清除無損圖層后,由IMAQ Detect Texture Defect根據(jù)分類器對紋理進(jìn)行分類;
Nl Vision分類過程使用范圍為0~1000的識別得分(ldentification Score)來判別被測特征與某一類別的相似程度,當(dāng)紋理與合格的特征信息差別越大時(shí),說明其越接近缺陷;
由此,程序中設(shè)置了最小缺陷分類識別得分為200,分類時(shí)任何得分等于或大于該閾值的像素均被識別為紋理缺陷。
程序設(shè)計(jì)如下所示:
通過運(yùn)行程序,效果如下所示:
往期推薦

