李忠虎 趙麗娜
通過(guò)實(shí)際應(yīng)用MATLAB 圖像處理工具,對(duì)數(shù)字圖像進(jìn)行灰度化和濾波平滑處理,并對(duì)圖像的特征進(jìn)行特取,為實(shí)現(xiàn)精密測(cè)試提供了前提。
數(shù)字圖像處理技術(shù)就是將人眼能夠看到的連續(xù)的物理圖像通過(guò)計(jì)算機(jī)采樣和量化成二維的函數(shù),并通過(guò)演算使其在空間上和數(shù)值上離散化,從而形成的一個(gè)數(shù)字點(diǎn)陣。隨著計(jì)算機(jī)技術(shù)和信息處理技術(shù)的迅猛發(fā)展,數(shù)字圖像處理技術(shù)已在工業(yè)檢測(cè)、航空航天、星球探測(cè)、軍事偵察、公安防暴、人機(jī)交互和文化藝術(shù)等領(lǐng)域得到了廣泛運(yùn)用并越來(lái)越受到人們的重視。
MATLAB 語(yǔ)言是Mathwoks 公司推出的一種面向工程和科學(xué)計(jì)算,運(yùn)算數(shù)據(jù)可視化和交互式程序設(shè)計(jì)的高級(jí)計(jì)算機(jī)矩陣運(yùn)算語(yǔ)言。它將科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真模擬集成在一個(gè)視窗環(huán)境中,結(jié)合現(xiàn)代數(shù)值分析和矩陣計(jì)算,為工程設(shè)計(jì)、精密檢測(cè)以及進(jìn)行科學(xué)有效數(shù)值計(jì)算的眾多學(xué)科領(lǐng)域研究提供全面、高效的解決方案,擺脫了傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言編輯模式。
MATLAB 數(shù)字圖像工具箱主要支持四種圖像類型:分別是真彩色圖像(RGB)、索引圖像、灰度圖像和二值圖像,各類圖像可以通過(guò)MATLAB 軟件工具箱的轉(zhuǎn)換函數(shù)相互轉(zhuǎn)換類型,MATLAB 可操作的圖像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD 等格式。
在大多數(shù)測(cè)量過(guò)程中采集到計(jì)算機(jī)的圖像一般都為彩色圖像,由于彩色圖像的數(shù)據(jù)量比較大,為減少圖像處理過(guò)程的時(shí)間需要將彩色圖像灰度化轉(zhuǎn)換成灰度圖像,這樣能夠減少處理數(shù)據(jù)運(yùn)算量還能不損失圖像的邊緣信息。在圖像采集過(guò)程中,由于受到各種因素的影響,被測(cè)圖像會(huì)變的模糊而使得測(cè)量誤差超差。為提高測(cè)量精度需要將數(shù)字圖像轉(zhuǎn)化為灰度圖像,并進(jìn)行濾波降噪處理。
運(yùn)用MATLAB 語(yǔ)言實(shí)現(xiàn)彩色圖像灰度化和圖像的直方圖均衡化,將圖像中有用的信息突出出來(lái),削弱或消除不需要的信息。
對(duì)應(yīng)的進(jìn)行灰度化和直方均衡化的MATLAB 源程序及主要注解如下:
% 圖像灰度化和直方圖均衡化
I=imread(‘tupian1.jpg’);% 讀入彩色圖像文件
I=rgb2gray(I);% 圖像灰度化處理
J=histeq(I);% 對(duì)圖像直方圖均衡化處理,默認(rèn)灰度級(jí)數(shù)為 64
subplot(121),imshow(I)% 顯示灰度化圖像
subplot(122),imshow(J)% 顯示直方圖均衡化圖像
在對(duì)數(shù)字圖像進(jìn)行初步灰度化和直方圖均衡化處理后,在其基礎(chǔ)上再對(duì)數(shù)字圖像進(jìn)行平滑去噪,對(duì)數(shù)字圖像的平滑去噪其實(shí)就是對(duì)圖像信息進(jìn)行濾波處理。對(duì)圖像進(jìn)行濾波處理主要是為了凸現(xiàn)數(shù)字圖像中某些重要的信息,同時(shí)去除或抑制某些無(wú)用的信息來(lái)提高圖像質(zhì)量。如強(qiáng)化圖像的高頻分量,可以使圖像物體的輪廓更為清晰。
圖像濾波處理過(guò)程有可能會(huì)造成圖像失真,因?yàn)樗皇且詧D像保真為原則的,它的目的主要有兩個(gè):一是提高圖像的清晰度;二是有利于計(jì)算機(jī)識(shí)別和處理,如通過(guò)銳化濾波突出圖像的邊緣輪廓線,以便進(jìn)行特征分析。
濾波處理方法有很多種,不同的方法消除或抑制隨機(jī)噪聲的效果也有所不同,引起的圖像中的細(xì)微環(huán)節(jié)和邊緣特征的損失程度也不同。在這里主要討論鄰域平均濾波法、加權(quán)均值濾波法和中值濾波法三種常用的濾波方法。
下面通過(guò)幾個(gè)實(shí)驗(yàn)來(lái)對(duì)比以下三種濾波方法的處理效果。
對(duì)應(yīng)三種濾波方法的MATLAB 源程序及主要注解如下:
圖2 灰度化圖像和直方圖均衡化圖像
圖3 濾波處理后圖像的對(duì)比
通過(guò)圖3 所示,鄰域平均濾波法和加權(quán)平均濾波法雖然對(duì)圖像起到平滑的作用,但在消除噪聲的同時(shí),也使得圖像中的一些細(xì)微數(shù)據(jù)因被平均濾波而變得模糊了;中值濾波法則在消除噪聲的同時(shí)還能保持圖像中的細(xì)微部分,防止邊緣輪廓模糊,對(duì)如脈沖干擾和椒鹽噪聲這樣的隨機(jī)噪聲具有很好的濾波效果,而且很好的保持了邊緣特征信息。
在現(xiàn)代工藝和各類檢測(cè)過(guò)程中,檢測(cè)被測(cè)對(duì)象的邊緣信息是非常重要的,圖像最基本的特征就是邊緣,它存在于目標(biāo)、背景和區(qū)域之間,包含著很多有價(jià)值的目標(biāo)邊界信息,是分割圖像的最重要的依據(jù),也是圖像匹配的重要特征。
圖4 利用canny 算子檢測(cè)結(jié)果
目前,有很多的圖像邊緣檢測(cè)方法,在這里僅介紹基于Canny 算子檢測(cè)方法,它是邊緣檢測(cè)算法中最常用的一種算子,也是普遍公認(rèn)的性能優(yōu)越的邊緣檢測(cè)算子,它經(jīng)常被其他算子引用作為標(biāo)準(zhǔn)算子并與其進(jìn)行優(yōu)劣分析對(duì)比。Canny 算子具有高效的檢測(cè)率、精確定位和明確響應(yīng)三大優(yōu)點(diǎn),這三點(diǎn)也成為評(píng)判邊緣檢測(cè)算子的三個(gè)標(biāo)準(zhǔn)條件。
下面通過(guò)實(shí)驗(yàn)來(lái)介紹Canny 算子檢測(cè)方法,對(duì)應(yīng)的MATLAB 語(yǔ)言實(shí)現(xiàn)的源程序及主要注解如下:
如圖4 所示,物體的邊緣的特征表達(dá)的比較清楚,圖像中的細(xì)微部分清晰地表達(dá)出來(lái),最大程度的體現(xiàn)了物體的輪廓特征,有利于精密檢測(cè)的實(shí)現(xiàn)。
通過(guò)實(shí)驗(yàn),運(yùn)用 MATLAB 語(yǔ)言對(duì)數(shù)字圖像進(jìn)行處理,比VC 等軟件語(yǔ)言使用簡(jiǎn)單,還能快速實(shí)現(xiàn)模擬計(jì)算仿真并輸出效果圖,大大提高了工作學(xué)習(xí)效率,對(duì)于各類精密檢測(cè)和科學(xué)應(yīng)用方面有著非常好的輔助性作用。近來(lái)MATLAB 軟件針對(duì)數(shù)字圖像處理技術(shù)推出了許多新的功能,這對(duì)相關(guān)行業(yè)的研究人員提供了高效、便捷的學(xué)習(xí)和研究工具。