LabVIEW圖像灰度分析與變換(基礎(chǔ)篇—4)
圖像灰度分析
圖像灰度分析是圖像分析中最基本的內(nèi)容,它使用各種圖像灰度分析工具,提取圖像或ROI區(qū)域內(nèi)的灰度特征信息?;趯?duì)圖像灰度的分析測(cè)量,可以實(shí)現(xiàn)最基本的機(jī)器視覺(jué)檢測(cè)系統(tǒng),如目標(biāo)存在性檢測(cè)系統(tǒng)等。
直方圖(histogram)是最基本的圖像灰度分析工具。使用它不僅可以判斷圖像中是否包含可從背景中分割出的區(qū)域、圖像的飽和度和對(duì)比度是否適合檢測(cè)任務(wù),還能確定應(yīng)該如何對(duì)圖像采集系統(tǒng)進(jìn)行調(diào)整以獲得較高質(zhì)量的圖像。
除直方圖外,線灰度分布曲線(line profile)、圖像線灰度均值(linear averages)ROl邊界灰度曲線、圖像形心(centroid,又稱幾何中心)和圖像質(zhì)心(central of mass)、灰度定量描述(grayscale quantify)以及圖像結(jié)構(gòu)相似度(structuresimilarity index)分析也是較為有效的圖像灰度分析工具。
1.1、直方圖分析
圖像直方圖是最基本的圖像分析工具。由于其具有簡(jiǎn)單易用等特點(diǎn),因此在圖像分割、圖像灰度變換等處理過(guò)程中發(fā)揮著重要作用。圖像直方圖常見(jiàn)的作用包括:判斷圖像中是否包含可以清晰地從背景中分割出的區(qū)域,分析圖像的亮度和對(duì)比度是否滿足機(jī)器視覺(jué)系統(tǒng)的檢測(cè)要求,以及確定如何對(duì)圖像采集系統(tǒng)進(jìn)行調(diào)整改進(jìn)。
圖像的直方圖包含了豐富的圖像信息,是圖像最基本的統(tǒng)計(jì)特征,描述了圖像的灰度級(jí)內(nèi)容,反映了圖像的灰度分布情況。圖像的灰度直方圖以圖表的方式顯示了圖像中每個(gè)灰度級(jí)與其所對(duì)應(yīng)像素?cái)?shù)量的關(guān)系,其中像素?cái)?shù)量可被看作灰度級(jí)的函數(shù)。圖表的橫坐標(biāo)為灰度級(jí),縱坐標(biāo)是各個(gè)灰度級(jí)在圖像中出現(xiàn)的頻率。直方圖是概率密度函數(shù),從概率論的角度來(lái)看灰度出現(xiàn)的頻率可被看作其出現(xiàn)的概率。
對(duì)于數(shù)字圖像來(lái)說(shuō),常見(jiàn)的直方圖類型有線性直方圖(linear histogram)和累計(jì)直方圖(cumulative histogram)。兩種情況下,直方圖的橫軸均為灰度級(jí),線性直方圖的縱軸為灰度級(jí)對(duì)應(yīng)的像素?cái)?shù),累計(jì)直方圖的縱軸則表示所有小于或等于灰度級(jí)k的像素?cái)?shù)量之和。若以離散函數(shù)形式表示兩種類型的灰度直方圖,則線性直方圖可表示為:
累計(jì)直方圖則可表示為:
其中:
H(k)和n,表示灰度級(jí)對(duì)應(yīng)的像素?cái)?shù)量;
k表示灰度級(jí);
max表示圖像數(shù)據(jù)類型可表示的最大值,如當(dāng)圖像類型為U8時(shí),max=255。
下圖分別顯示了線性直方圖和累計(jì)直方圖的例子。其中線性直方圖說(shuō)明圖像主要由3個(gè)灰度不同的部分構(gòu)成,兩個(gè)灰度較低的部分比較接近,而第三個(gè)灰度較高的部分與前兩個(gè)灰度較低的部分區(qū)別明顯。累計(jì)直方圖則說(shuō)明兩個(gè)灰度較低的部分大約占整個(gè)圖像的80%,而灰度較高的部分約占圖像的20%。
機(jī)器視覺(jué)系統(tǒng)的光源對(duì)于成像質(zhì)量至關(guān)重要。當(dāng)視場(chǎng)中光線過(guò)暗時(shí),圖像傳感器成像過(guò)程會(huì)出現(xiàn)曝光不足的情況;而若光線太強(qiáng),則會(huì)導(dǎo)致曝光過(guò)度。無(wú)論曝光不足還是曝光過(guò)度,都會(huì)導(dǎo)致所采集的圖像中檢測(cè)目標(biāo)的特征信息丟失。使用直方圖可以直觀地判斷圖像的亮度是否滿足系統(tǒng)檢測(cè)要求。
由于曝光不足的圖像中包含大量灰度值較低的像素,因此常會(huì)在直方圖的左邊出現(xiàn)峰值;相反,曝光過(guò)度的圖像常包含大量灰度值較高的像素,峰值會(huì)出現(xiàn)在直方圖的右端。這兩種情況如下圖所示:
1.1.1、灰度圖像直方圖分析
Nl Vision為圖像直方圖的操作提供了易用的IMAQ Histograph和IMAQ Histogram,它們位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Analysis圖像分析函數(shù)選板中,如下圖所示:
函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
通過(guò)一個(gè)案例了解IMAQ Histograph和IMAQ Histogram計(jì)算圖像直方圖的使用方法和區(qū)別,設(shè)計(jì)思路如下所示:
程序在將圖像讀入內(nèi)存后即可直接使用VI計(jì)算其直方圖,其中參數(shù)#Classes指定了要將圖像中的像素分為多少級(jí)別;
默認(rèn)情況下,8位灰度圖像的像素將被分為256級(jí),也就是說(shuō)每個(gè)灰度級(jí)都會(huì)被作為單個(gè)類來(lái)對(duì)待。
NI建議采用2的整數(shù)次冪來(lái)對(duì)像素進(jìn)行分級(jí)。
參數(shù)Interval Range為直方圖計(jì)算時(shí)的最大和最小邊界值,只有那些落在最大值和最小值所約定的范圍內(nèi)的像素才會(huì)參與直方圖的計(jì)算;
如果指定的像素級(jí)數(shù)超出了Interval Range中最大值和最小值約定的范圍,則最終計(jì)算所得到的像素灰度級(jí)數(shù)會(huì)與指定的灰度級(jí)數(shù)不同。
IMAQ Histograph返回的Histograph參數(shù)是以LabVIEW Graph數(shù)據(jù)格式組織的灰度直方圖數(shù)據(jù),它可以直接連接到Graph控件顯示直方圖曲線。Mean Value參數(shù)會(huì)返回參與直方圖計(jì)算的像素灰度平均值。Standard Deviation參數(shù)返回直方圖灰度的標(biāo)準(zhǔn)差,其值越大,則說(shuō)明參與直方圖計(jì)算的灰度級(jí)分布越分散,對(duì)這個(gè)圖像來(lái)說(shuō)對(duì)比度就越強(qiáng)。同時(shí)顯示了經(jīng)過(guò)計(jì)算得到Iron.tif圖像的直方圖。
程序設(shè)計(jì)如下所示:
效果如下所示:
1.1.2、彩色圖像直方圖分析
Nl Vision提供了3個(gè)進(jìn)行彩色圖像直方圖的計(jì)算操作函數(shù)IMAQ ColorHistogram、IMAQ ColorHistograph和IMAQ ColorEqualize,它們位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→Image Processing→Color Processing函數(shù)選板中。這3個(gè)函數(shù)的作用與灰度圖像的直方圖函數(shù)IMAQ Histogram、IMAQ Histograph和IMAQ Equalize類似,只是它們可作用于彩色圖像的3個(gè)不同分量,如下所示:
函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
這三個(gè)函數(shù)功能說(shuō)明如下所示:
IMAQ ColorHistogram可適用于RGB、HSL、HSV、HSI、CIE Lab和CIE XYZ 6種色彩空間;
雖然lMAQ ColorHistograph僅可支持RGB、HSL、HSV和HSI4種色彩空間,但是它返回的數(shù)據(jù)卻能直接與LabVIEW的Graph數(shù)據(jù)格式兼容,直接在前面板上繪制曲線;
IMAQ ColorEqualize可對(duì)彩色圖像的3個(gè)分量進(jìn)行直方圖匹配或均衡操作。
通過(guò)一個(gè)案例來(lái)了解彩色圖像直方圖的實(shí)現(xiàn)方法(IMAQ ColorHistograp函數(shù)為例),程序設(shè)計(jì)思路如下所示:
程序先將RGB-U32格式彩色圖像pepper.png讀入內(nèi)存,然后使用IMAQ Castlmage將其轉(zhuǎn)換為HSL-U32格式;
IMAQ ColorHistograph在程序中的作用是計(jì)算HSL彩色圖像各個(gè)圖層的直方圖數(shù)據(jù),并以LabVIEW Graph的格式返回這些數(shù)據(jù),以方便顯示。
程序設(shè)計(jì)如下所示:
程序效果如下所示:
1.2、線灰度曲線分析
線灰度曲線分析(line profile)繪制了沿圖像中某條線段的像素灰度變化。它的橫軸為線段上的像素點(diǎn)位置索引,縱軸為各點(diǎn)的灰度。線灰度分布曲線可用于檢測(cè)圖像中相鄰部分的邊界,定量表示灰度變化并可檢測(cè)圖像中是否存在某種特征。在線灰度曲線中,波峰和波谷代表圖像中某一區(qū)域灰度沿著所選線段的增減,波峰和波谷的寬度和幅度分別代表區(qū)域在圖像中的尺寸和亮度。
例如,若圖像中包含某一亮度較高的區(qū)域,則沿著穿過(guò)它的線段所繪制的灰度分布曲線中將出現(xiàn)一個(gè)波峰,該區(qū)域相對(duì)于背景的亮度越高,則波峰就越陡峭。注意,圖像中的噪聲通常會(huì)導(dǎo)致一系列較窄的尖峰。
Nl Vision中IMAQ LineProfile可實(shí)現(xiàn)線灰度曲線分析操作,它位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Analysis圖像分析函數(shù)選板中(位置參照文章:1.1.1部分),函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
通過(guò)統(tǒng)計(jì)生產(chǎn)線上某種針形產(chǎn)品數(shù)量的例子理解線灰度曲線分析的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:
程序?qū)D像讀入內(nèi)存后,先通過(guò)IMAQ GetlmageSize獲取圖像寬度;
然后用IMAQ Overlay Line沿著圖像中產(chǎn)品上部放置一條和圖像等寬度的線段無(wú)損圖層;
該線段所覆蓋的像素正是IMAQ Line Profile用于繪制線灰度曲線的線段。
程序設(shè)計(jì)如下所示:
在線灰度曲線中,每個(gè)上升或下降沿都代表灰度由暗到亮或由亮到暗的劇烈變化,而每個(gè)針形部件剛好對(duì)應(yīng)一個(gè)"脈沖”。因此,只要統(tǒng)計(jì)“脈沖"的個(gè)數(shù),即可得知圖像中包含的要檢測(cè)部件的數(shù)量,程序效果如下所示:
1.3、圖像線灰度均值分析
圖像線灰度均值分析(linear averages)可以計(jì)算整個(gè)圖像或指定矩形區(qū)域內(nèi)像素的4種類型線灰度均值,包括沿X軸方向上每列像素的灰度線性平均值(XAxis Average)、沿Y軸方向上每行像素的灰度線性平均(YAxis Average)、沿左下到右上角對(duì)角線方向,垂直于該對(duì)角線的像素灰度均值(X+YAxisAverage),以及沿左上角到右下角對(duì)角線方向上垂直于該對(duì)角線的像素灰度均值(×-YAxis Average)。下圖顯示了計(jì)算4種類型的圖像線灰度均值的邏輯示意圖,其中虛線代表像素灰度均值,實(shí)線表示參與計(jì)算的像素。
Nl Vision中IMAQ LinearAverages可實(shí)現(xiàn)圖像線灰度均值分析操作,它位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Analysis圖像分析函數(shù)選板中(位置參照文章:1.1.1部分),函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
通過(guò)使用圖像線灰度均值和ROI邊界灰度曲線檢查液態(tài)****品灌裝質(zhì)量的例子理解圖像線灰度均值分析的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:
程序先將采集到的圖像讀入內(nèi)存;
然后使用IMAQ LinearAverage計(jì)算指定矩形區(qū)域內(nèi)沿坐標(biāo)X方向上每列像素的灰度線性平均值XAxis Average;
為了檢查****品灌裝質(zhì)量是否達(dá)標(biāo),程序所指定的矩形區(qū)域正好覆蓋灌裝達(dá)標(biāo)時(shí)的液位;
為了直觀地讓用戶看到所指定ROI區(qū)域的位置,程序使用IMAQ Overlay Rectangle在圖像中標(biāo)記出矩形區(qū)域;
IMAQ ROIProfile用于返回指定的矩形ROI區(qū)域的灰度曲線ROI Profile。
程序設(shè)計(jì)如下所示:
觀察程序運(yùn)行后返回的曲線XAxis Average和ROlProfile,可以發(fā)現(xiàn)對(duì)于灌裝正常的****瓶,沿著X軸方向上每列像素的灰度線性平均值均在160附近;而未灌滿的****瓶,其沿著X軸方向上每列像素的灰度線性平均值則在灰度范圍最大值255附近,這是由于未灌滿的****瓶在矩形ROI范圍內(nèi)白色區(qū)域所占比例要比正常****瓶大。矩形ROI區(qū)域的邊界灰度曲線和線灰度分布曲線類似,它從矩形ROI的左上角開(kāi)始,按照順時(shí)針?lè)较蚶L制邊界所覆蓋的各像素灰度。
由圖中ROI邊界灰度曲線可以看出,矩形上邊框?qū)?yīng)的灰度曲線變化類似于脈沖,這是因?yàn)榘咨?***瓶與黑色背景之間交替變化而形成的。矩形下邊框?qū)?yīng)的灰度曲線變化則稍有不同,其中一個(gè)未正常灌裝的****瓶灰度"脈沖"值明顯高于其他幾個(gè)正常灌裝的****瓶。程序效果如下所示:
1.4、圖像形心和質(zhì)心分析
圖像形心(centroid)又稱為圖像的幾何中心,它是指幾何區(qū)域內(nèi)所有像素坐標(biāo)值在各方向上的平均。若區(qū)域的像素?cái)?shù)量為W×H(其中W為寬度,H為高度),則幾何中心可以用以下公式計(jì)算:
圖像質(zhì)心(center of mass)與圖像形心是兩個(gè)完全不同的概念。質(zhì)心(質(zhì)量中心的簡(jiǎn)稱)是一個(gè)假想點(diǎn),它是組成目標(biāo)物的所有質(zhì)點(diǎn)質(zhì)量分布的平均位置。若假定目標(biāo)物由n個(gè)質(zhì)點(diǎn)組成,它們的質(zhì)量分別是m, m2,...,mn,各質(zhì)點(diǎn)相對(duì)于某一固定點(diǎn)О(特殊情況下為坐標(biāo)原點(diǎn)〉的矢徑分別為r1,r2,...,rn,質(zhì)心到O的矢徑為rmass,則有:
換句話說(shuō),組成目標(biāo)物的所有質(zhì)點(diǎn)質(zhì)量與質(zhì)點(diǎn)到固定點(diǎn)的矢徑乘積之和,等于質(zhì)心矢徑與所有質(zhì)點(diǎn)質(zhì)量和的乘積。由上式可得到質(zhì)點(diǎn)的矢徑:
質(zhì)心僅與各質(zhì)點(diǎn)的質(zhì)量大小和分布的相對(duì)位置有關(guān)。選擇的坐標(biāo)系不同,質(zhì)心坐標(biāo)可能會(huì)不同,但相對(duì)于各質(zhì)點(diǎn)的位置與坐標(biāo)系的選擇無(wú)關(guān)。
對(duì)于大小為W×H的數(shù)字圖像來(lái)說(shuō),可將各像素灰度值p,視為質(zhì)點(diǎn)的質(zhì)量,則圖像質(zhì)心位置可通過(guò)以下計(jì)算x、y兩個(gè)方向上質(zhì)心坐標(biāo)的公式得到:
其中xi、yi為圖像中各像素點(diǎn)的坐標(biāo)。圖像的形心與質(zhì)心相對(duì)于圖像中各個(gè)像素來(lái)說(shuō)有較為明顯的特征,它們的位置通常不會(huì)隨著圖像移動(dòng)、旋轉(zhuǎn)、伸縮以及噪聲的影響有大幅度變化。由于基于圖像形心和質(zhì)心的特征相對(duì)較為穩(wěn)定,因此可基于這些特征構(gòu)建魯棒性較高的機(jī)器視覺(jué)系統(tǒng)。此外,在進(jìn)行顆粒分析時(shí),圖像形心或質(zhì)心也常作為各種測(cè)量分析的基點(diǎn)。
Nl Vision中IMAQ Centroid可實(shí)現(xiàn)圖像線灰度均值分析操作,它位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Analysis圖像分析函數(shù)選板中(位置參照文章:1.1.1部分),函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
通過(guò)使用圖像形心和質(zhì)心計(jì)算某種皮膚細(xì)胞圖像形心的例子理解圖像形心和質(zhì)心的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:
程序先將采集到的細(xì)胞圖像讀入內(nèi)存,并由IMAQ Threshold對(duì)圖像進(jìn)行二值化處理;
經(jīng)二值化處理后,原圖像中位于35~255灰度區(qū)間的像素灰度均被置為255;
此后IMAQ LowPass將濾除二值圖像中的高頻噪聲;
IMAQ FillHole用于填充二值化的細(xì)胞圖像中各個(gè)“孔洞”,以獲取"實(shí)心"的細(xì)胞目標(biāo)圖像;
此后又用IMAQ Remove Particle去除了圖像中各類噪聲點(diǎn);
由于IMAQCentroid在計(jì)算圖像中某個(gè)目標(biāo)的形心時(shí)要使用目標(biāo)的遮罩圖像,因此程序先使用IMAQ Label對(duì)二值圖像進(jìn)行標(biāo)記,即將圖像中被認(rèn)為屬于同一組的像素(即顆粒)值全部更改為某一固定灰度值,再由IMAQ LabelToROl和IMAQ ROIToMask2將標(biāo)記的圖像轉(zhuǎn)換為ROl和需要的遮罩圖像;
一旦獲得細(xì)胞對(duì)應(yīng)的遮罩圖像,即可由IMAQCentroid計(jì)算得到非規(guī)則形狀的細(xì)胞形心;
在程序中,IMAQ OverlayROl和IMAQ OverlayPoints分別在圖像中添加了細(xì)胞輪廓和細(xì)胞形心的無(wú)損圖層。
程序設(shè)計(jì)如下所示:
程序效果如下所示:
1.5、圖像灰度定量描述分析
圖像灰度定量描述分析(grayscale quantify)指對(duì)整個(gè)圖像或圖像中某個(gè)區(qū)域內(nèi)的像素灰度進(jìn)行定量計(jì)算的過(guò)程。包括計(jì)算像素灰度均值(mean gray value)、最大值(maxmum gray value)、最小值(minimum gray value)、像素灰度的標(biāo)準(zhǔn)差(standard deviation)以及某個(gè)區(qū)域的面積(area)等。若圖像的大小為H×W,像素用P(i,j)表示,則像素的均值u和標(biāo)準(zhǔn)差o可通過(guò)以下公式計(jì)算:
Nl Vision中IMAQ Quantify 2可返回圖像或其中某一區(qū)域的定量描述參數(shù),包括:像素灰度均值、標(biāo)準(zhǔn)差、最大值、最小值以及通過(guò)像素?cái)?shù)量或用戶自定義單位(校準(zhǔn)坐標(biāo)及單位)表示的圖像區(qū)域面積。它位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Analysis圖像分析函數(shù)選板中(位置參照文章:1.1.1部分),函數(shù)的說(shuō)明和使用可參見(jiàn)幫助文檔:
若要使用IMAQ Quantify2計(jì)算圖像中某個(gè)或多個(gè)區(qū)域的灰度數(shù)據(jù),必須使用標(biāo)記過(guò)的遮罩圖像(Labeled lmage Mask)來(lái)說(shuō)明各個(gè)區(qū)域,每個(gè)區(qū)域均使用一個(gè)數(shù)字標(biāo)記。也就是說(shuō),8位的遮罩圖像可以最多標(biāo)記256個(gè)區(qū)域,16位的遮罩圖像可以最多標(biāo)記65535個(gè)區(qū)域。
使用IMAQ Quantify2計(jì)算時(shí),若已由標(biāo)記過(guò)的遮罩圖像在圖像中指定了多個(gè)區(qū)域,則IMAQ Quantify2不僅會(huì)通過(guò)Global Report簇返回整個(gè)圖像的灰度定量描述數(shù)據(jù),還會(huì)通過(guò)Region Reports數(shù)組返回每個(gè)區(qū)域(按標(biāo)記由小到大順序)的灰度定量描述參數(shù)。
數(shù)組中元素的類型為簇,包含圖像中各區(qū)域的灰度定量數(shù)據(jù)。
通過(guò)使用IMAQ Quantify2計(jì)算矩形ROI區(qū)域內(nèi)灰度定量描述數(shù)據(jù)的例子理解圖像灰度定量描述分析的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:
程序先為待處理圖像和遮罩圖像在內(nèi)存中分配了緩沖區(qū),隨后枚舉Light Meter目錄中的".jpg"圖像路徑,交由For循環(huán)處理;
針對(duì)目錄每一".jpg"圖像文件,F(xiàn)or循環(huán)先將其讀入緩沖區(qū),并由IMAQ Clear Overlay清除圖像中的無(wú)損圖層(若有);
IMAQ Convert Rectangle to ROI可以把矩形(110,25,160,85,0)轉(zhuǎn)換為ROI Descriptor數(shù)據(jù)類型,IMAQ ROl to Mask進(jìn)而將矩形ROI轉(zhuǎn)換為圖像遮罩,存儲(chǔ)在圖像緩沖區(qū)Mask中;
IMAQ Label會(huì)對(duì)生成的遮罩圖像進(jìn)行標(biāo)記,并將其傳遞給IMAQ Quantify2用于計(jì)算矩形區(qū)域內(nèi)的灰度定量描述數(shù)據(jù);
為便于觀察,F(xiàn)or循環(huán)還使用IMAQ Overlay ROI在源圖中添加了矩形無(wú)損圖層;
為進(jìn)行比較,F(xiàn)or循環(huán)還使用IMAQ Histogram和遮罩圖像直接計(jì)算了矩形ROI區(qū)域內(nèi)的灰度信息。
程序設(shè)計(jì)如下所示:
觀察程序運(yùn)行結(jié)果可發(fā)現(xiàn),IMAQ Quantify2和IMAQ Histogram均可計(jì)算得到某些相同的灰度數(shù)據(jù),但前者需要以標(biāo)記過(guò)的遮罩圖像作為輸入。
灰度定量描述工具常用于基于灰度的目標(biāo)存在性檢查和缺陷檢測(cè)。通常情況下,先基于觀測(cè)目標(biāo)上某一相對(duì)固定的特征確定單個(gè)或多個(gè)監(jiān)測(cè)區(qū)域。隨后,對(duì)區(qū)域內(nèi)的像素灰度進(jìn)行統(tǒng)計(jì)測(cè)量,并通過(guò)綜合分析灰度測(cè)量結(jié)果來(lái)判斷檢測(cè)目標(biāo)是否存在或產(chǎn)品是否存在缺陷。
2
圖像灰度變換
圖像灰度變換是圖像處理的基本內(nèi)容之一,它以點(diǎn)對(duì)點(diǎn)映射的方式將原圖像的像素灰度值變換為新灰度值。由于像素的新灰度值僅由原像素的灰度和灰度變換函數(shù)決定,因此圖像灰度變換并不會(huì)改變像素點(diǎn)之間的空間關(guān)系?;叶茸儞Q主要用于圖像增強(qiáng),通過(guò)它不僅可調(diào)整圖像的亮度和對(duì)比度,還能對(duì)圖像中的高灰度級(jí)或低灰度級(jí)進(jìn)行壓縮或擴(kuò)展,突出圖像中的重要信息。
若假定輸入圖像為SrcA(x,y),輸出圖像為Dst(x,y),則圖像灰度變換可由下式表示。顯然,它由灰度變換函數(shù)GST決定,并不改變圖像內(nèi)像素點(diǎn)之間的空間關(guān)系。
圖像灰度變換可以分為線性和非線性兩大類。
線性變換的灰度變換函數(shù)為線性函數(shù),此時(shí)運(yùn)算后輸出的灰度級(jí)與輸入灰度級(jí)呈線性關(guān)系。
為方便起見(jiàn),將分段線性變換、窗口變換、閾值變換也作為線性變換來(lái)講解。
常用的非線性變換包括對(duì)數(shù)變換、指數(shù)變換和冪變換,而冪變換又分為“冪值大于1"和“冪值在0~1之間"的兩種情況。
這些灰度變換不僅可以拉伸或壓縮圖像或其中某一部分的整體灰度,也可以在壓縮或拉伸低灰度區(qū)間的同時(shí)對(duì)高灰度區(qū)間進(jìn)行變換。下表對(duì)各種變換按其功能進(jìn)行了分類匯總:
Nl Vision為實(shí)現(xiàn)圖像灰度變化提供了便捷的VI,它們位于LabVIEW的視覺(jué)與運(yùn)動(dòng)→lmage Processing→Processing函數(shù)選板中,如下圖所示:
為提高效率,這些VI先將各種線性和非線性灰度變換函數(shù)轉(zhuǎn)換為查找表(Lookup Table,LUT),再以查表的方式對(duì)輸入圖像或其中某一灰度區(qū)域進(jìn)行灰度變換。因此Nl Vision將灰度變換又稱為L(zhǎng)UT變換。查找表中包含輸入圖像的像素灰度和根據(jù)灰度變換函數(shù)計(jì)算得到的對(duì)應(yīng)輸出灰度值。
以8位灰度圖像為例,其查找表可以用包含256個(gè)元素的數(shù)組來(lái)表示,數(shù)組元素的索引代表輸入像素灰度級(jí),而元素中的值則是根據(jù)灰度變換函數(shù)計(jì)算得到的輸出灰度值。為變換后的新元素值。若查找表中未包含某一原圖像中的像素值,則保留其值不變。根據(jù)IMAQ UserLookup的特點(diǎn),當(dāng)要使用諸如分段線性變換等IMAQ MathLookup未定義的灰度變換時(shí),就可以先根據(jù)灰度變換函數(shù)計(jì)算得到自定義的查找表,然后再調(diào)用IMAQ UserLookup,用自定義查找表對(duì)原圖的像素進(jìn)行灰度映射。
當(dāng)然,對(duì)于分段線性變換的特例:閾值變換,NI Vision提供了IMAQ Threshold和IMAQ MultiThreshold兩個(gè)VI,其中前一個(gè)通過(guò)雙固定閾值法將閾值區(qū)域內(nèi)的像素置為1或用戶自定義的值,其余像素設(shè)置為0,而后者則可對(duì)多個(gè)灰度區(qū)域進(jìn)行閾值化。IMAQ Threshold和IMAQ MultiThreshold提供了一種手動(dòng)的圖像閾值分割方法。Nl Vision還支持其他自動(dòng)方式的圖像閾值分割方法,說(shuō)明和使用可參見(jiàn)幫助文檔:
通過(guò)使用IMAQ BCGLookup對(duì)圖像進(jìn)行亮度、對(duì)比度和高低灰度級(jí)壓縮的例子理解圖像灰度變換的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:
程序?qū)z測(cè)用戶是否更改BCG控件的值,若BCG控件中任何一個(gè)元素的值被更改,While循環(huán)就立即執(zhí)行Case分支結(jié)構(gòu)中的IMAQ BCGLookup和IMAQ Histogram,重新調(diào)整原圖像的亮度和對(duì)比度,并對(duì)其進(jìn)行伽馬變換。
程序設(shè)計(jì)如下所示:
程序顯示了Brightness=145、Contrast=60和Gamma=1.5時(shí)程序的運(yùn)行結(jié)果??梢钥闯?,處理后的圖像不僅亮度提高,對(duì)比度增強(qiáng),而且圖像的低灰度級(jí)被壓縮,高灰度級(jí)被擴(kuò)展,效果如下所示:
圖像灰度分析和變換是圖像分析和處理的基本內(nèi)容之一。圖像灰度分析通過(guò)各種圖像灰度分析工具提取圖像或ROI區(qū)域內(nèi)的灰度特征信息。圖像灰度變換以點(diǎn)對(duì)點(diǎn)映射的方式將原圖像的像素灰度值變換為新灰度值,以實(shí)現(xiàn)圖像亮度對(duì)比度的增強(qiáng)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。