国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MATLAB在圖像處理中的應(yīng)用

2009-03-31 07:23于廣州楊秀娟
中國(guó)校外教育(下旬) 2009年2期
關(guān)鍵詞:邊緣檢測(cè)

于廣州 楊秀娟

【摘 要】數(shù)字圖像處理是20世紀(jì)60年代發(fā)展起來(lái)的一門新興學(xué)科。隨著微型計(jì)算機(jī)性能的提高,數(shù)字圖像處理技術(shù)也得到了廣泛的普及,當(dāng)前圖像處理技術(shù)在工業(yè)自動(dòng)化、工業(yè)檢測(cè)、醫(yī)學(xué)、遙感探測(cè)等各個(gè)方面都發(fā)揮著十分重要的作用。對(duì)于圖像處理系統(tǒng)來(lái)說(shuō),處理流程基本可以劃分為三個(gè)階段,首先是對(duì)獲得的原始圖像進(jìn)行預(yù)處理;其次是抽取圖像特征;最后是識(shí)別分析。其中圖像預(yù)處理階段即圖像增強(qiáng)階段極為重要,如果此階段選擇的處理方式不當(dāng),后面的工作將很難取得成功。所以,對(duì)原始圖像進(jìn)行預(yù)處理就顯得十分的重要,直接影響后續(xù)的應(yīng)用。MATLAB是進(jìn)行圖像處理的有用工具。

【關(guān)鍵詞】MATLAB編程語(yǔ)言 圖像平滑 邊緣檢測(cè)

一、MATLAB簡(jiǎn)介

MATLAB是MathWorks公司于1982年推出的一套高性能的數(shù)值計(jì)算和可視化軟件,它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)方便、界面友好的用戶環(huán)境。MATLAB語(yǔ)言是一種簡(jiǎn)單、高效、功能極強(qiáng)的編程語(yǔ)言。它可用于數(shù)學(xué)、計(jì)算機(jī)、電子工程、信息工程、機(jī)械工程等專業(yè)。MATLAB的推出得到了各個(gè)領(lǐng)域?qū)<覍W(xué)者的廣泛關(guān)注,其強(qiáng)大的擴(kuò)展功能為各個(gè)領(lǐng)域的應(yīng)用提供了基礎(chǔ)。由各個(gè)領(lǐng)域的專家學(xué)者相繼推出了MATLAB工具箱,而且工具箱還在不斷的增加,這些工具箱給各個(gè)領(lǐng)域的研究和工程應(yīng)用提供了有力的工具。借助于這些工具,各個(gè)層次的研究人員可直觀、方便地進(jìn)行分析、計(jì)算及設(shè)計(jì)工作,從而大大地節(jié)省了時(shí)間。本文主要從圖像處理方面對(duì)MATLAB的應(yīng)用做了簡(jiǎn)單的綜述。

將MATLAB用于數(shù)字圖像處理,其優(yōu)點(diǎn)在于以下幾個(gè)方面:

(1)強(qiáng)大、高效的矩陣和數(shù)組運(yùn)算功能。

(2)語(yǔ)法規(guī)則與一般的高級(jí)語(yǔ)言類似,一個(gè)稍有編程基礎(chǔ)的人能很快熟悉掌握。

(3)語(yǔ)言簡(jiǎn)潔緊湊,使用靈活,程序書寫形式自由。而且?guī)旌瘮?shù)十分豐富,避免了繁雜的子程序編程任務(wù)。

(4)向用戶提供各種方便的繪圖功能。

(5)提供了圖像處理工具箱、數(shù)字信號(hào)處理工具箱、小波工具箱等各種功能強(qiáng)大的工具箱。

(6)集成了各種變換函數(shù),不僅方便了研究人員,而且使源程序簡(jiǎn)潔明了、易實(shí)現(xiàn)。

二、圖像處理的基本函數(shù)

1.MATLAB可處理的數(shù)字圖像以及它們之間的轉(zhuǎn)換MATLAB圖像處理工具箱支持四種基本圖像格式:索引圖像、灰度圖像、二進(jìn)制圖像、RGB圖像。它們之間的轉(zhuǎn)換函數(shù)如下:

(1)灰度圖與索引圖的相互轉(zhuǎn)換函數(shù)

[x,MAP]=gray2ind(I,n)將灰度圖I轉(zhuǎn)換成基有顏色圖gray(n)的索引圖;

[I]=ind2gray(X,MAP)將基有顏色圖MAP的圖像X轉(zhuǎn)換為灰度圖。

(2)RGB圖像轉(zhuǎn)換為灰度圖函數(shù)

I=rgb2gray(RGB)將真彩色RGB轉(zhuǎn)換為灰度級(jí)亮度圖像I。

(3)RGB圖像與索引圖像相互轉(zhuǎn)換函數(shù)

rgb2ind(),ind2rgb()

2.圖像的輸入輸出函數(shù)

I=imread(‘imagename);讀取一幅圖像到矩陣I中。imwrite(I,imagename)將矩陣I中數(shù)據(jù)寫入圖像imagename。

imagesc(I)將rgb圖像I畫出。

imshow(I)將灰度圖像I畫出。

warp()顯示圖像為紋理表面函數(shù)。

三、圖像增強(qiáng)

圖像直方圖是圖像處理中一種十分重要的圖像分析工具,它描述了一幅圖像的灰度級(jí)內(nèi)容,任何一幅圖像的直方圖都包含了豐富的信息,它主要用在圖像分割,圖像灰度變換等處理過(guò)程中。從數(shù)學(xué)上來(lái)說(shuō),圖像直方圖是圖像各灰度值統(tǒng)計(jì)特性與圖像灰度值的函數(shù),它統(tǒng)計(jì)一幅圖像中各個(gè)灰度級(jí)出現(xiàn)的次數(shù)或概率;從圖形上來(lái)說(shuō),它是一個(gè)二維圖,橫坐標(biāo)表示圖像中各個(gè)像素點(diǎn)的灰度級(jí),縱坐標(biāo)為各個(gè)灰度級(jí)上圖像各個(gè)像素點(diǎn)出現(xiàn)的次數(shù)或概率。

在獲取的圖像中,影響系統(tǒng)圖像清晰程度的因素很多,例如,室外光照度不夠均勻就會(huì)造成圖像灰度過(guò)于集中;由CCD(攝像頭)獲得的圖像經(jīng)過(guò)A/D(數(shù)/模轉(zhuǎn)換,該功能在圖像系統(tǒng)中由數(shù)字采集卡來(lái)實(shí)現(xiàn))轉(zhuǎn)換、線路傳送都會(huì)產(chǎn)生噪聲污染,等等。因此,圖像質(zhì)量不可避免的降低了,輕者表現(xiàn)為圖像不干凈,難于看清細(xì)節(jié);重者表現(xiàn)為圖像模糊不清,連概貌也看不出來(lái)。因此,在對(duì)圖像進(jìn)行分析之前,必須要對(duì)圖像質(zhì)量進(jìn)行改善,圖像增強(qiáng)不考慮圖像質(zhì)量下降的原因,只將圖像中感興趣的特征有選擇的突出,而衰減不需要的特征,它的目的主要是提高圖像的可懂度。

MATLAB中提供了專門繪制直方圖的函數(shù)imhist()、調(diào)整對(duì)比度函數(shù)imadjust()和直方圖均衡化函數(shù)histeq()。用它們可以很簡(jiǎn)單的繪制出圖像的灰度直方圖、灰度級(jí)調(diào)整后的直方圖和均衡化的直方圖,以及相應(yīng)的圖像。程序和圖像如下;

i=imread(‘tire.tif);%讀取圖像;

j=imadjust(i,[0/255 120/255],[]);

%由于原圖像的直方圖的對(duì)比度很低,灰度級(jí)集中在0—120范圍內(nèi),如果只取這個(gè)范圍內(nèi)的灰度,并擴(kuò)展到[0,255],則會(huì)明顯增強(qiáng)圖像對(duì)比度

k=histeq(i)

subplot(1,3,1),imshow(i),title(“原圖像”)

subplot(1,3,2),imshow(j),tide(“灰度級(jí)調(diào)整后的圖”)

subplot(1,3,3),imshow(k),tide(“直方圖均衡化后的圖”)

figure,subplot(1,3,1),imhist(i,64),tide(“原圖像對(duì)應(yīng)直方圖”)

subplot(1,3,2),imhist(I,64),tide(“灰度級(jí)調(diào)整后的直方圖”)

subplot(1,3,3),imhist(k,64),tide(“均衡化后的直方圖”)

四、圖像平滑

圖像平滑主要是為了消除噪聲。噪聲并不限于人眼所能看得見(jiàn)的失真和變形,有些噪聲只有

在進(jìn)行圖像處理時(shí)才可以發(fā)現(xiàn)。圖像的常見(jiàn)噪聲主要有加性噪聲、乘性噪聲和量化噪聲等。圖像中的噪聲往往和信號(hào)交織在一起,尤其是乘性噪聲,如果平滑不當(dāng),就會(huì)使圖像本身的細(xì)節(jié)如邊界輪廓、線條等變得模糊不清,如何既平滑掉噪聲又盡量保持圖像細(xì)節(jié),是圖像平滑主要研究的任務(wù)。MATLAB的圖像處理工具箱里也設(shè)計(jì)了許多的濾波器,如均值濾波器、中值濾波器、維納濾波器等。我們可以很方便的運(yùn)用一些函數(shù)完成數(shù)字濾波工作,從而改善圖像質(zhì)量。

用濾波器祛除圖象噪聲(分別用均值濾波、中值濾波及維納濾波器祛除加入高斯噪聲的圖象)程序和程序如下:

i=imread(‘eight.tif)

subplot(2,3,1),imshow(i),tide(“原始圖像”)

j1=imnoise(I,gaussian,0,0.02);%加入高斯噪聲

subplot(2,3,2),imshow(j1),tide(“加入高斯噪聲后圖像”)

g=medfdt2(i1)%進(jìn)行中值濾波

subplot(2,3,4),imshow(g),title(“中值濾波后圖像”)

w=wiener2(i1,[5 5])%進(jìn)行一次維納濾波

subplot(2,3,5),imshow(w),title(“維納濾波后圖像”)

w1=wiener2(w,[5 5])%進(jìn)行二次維納濾波

subplot(2,3,6),imshow(w1),title(“兩次維納濾波后圖像”)

從效果圖10可以看出,維納濾波對(duì)含有高斯噪聲的圖像濾波效果較好。五、邊緣檢測(cè)

邊緣檢測(cè)是一種重要的區(qū)域處理方法。邊緣是所要提取目標(biāo)和背景的分界線,提取出邊緣才能將目標(biāo)和背景區(qū)分開(kāi)來(lái)。邊緣檢測(cè)是利用物體和背景在某種圖像特性上的差異來(lái)實(shí)現(xiàn)的,這些差異包括灰度、顏色或者紋理特征。實(shí)際上,就是檢測(cè)圖像特性發(fā)生變化的位置。邊緣檢測(cè)包括兩個(gè)基本內(nèi)容:一是抽取出反映灰度變化的邊緣點(diǎn);二是剔除某些邊界點(diǎn)或填補(bǔ)邊界間斷點(diǎn),并將這些邊緣連接成完整的線。如果一個(gè)像素落在邊界上,那么它的鄰域?qū)⒊蔀橐粋€(gè)灰度級(jí)變化地帶。對(duì)這種變化最有用的兩個(gè)特征是灰度的變化率和方向。邊緣檢測(cè)算子可以檢查每個(gè)像素的鄰域,并對(duì)灰度變化率進(jìn)行量化,也包括對(duì)方向的確定,其中大多數(shù)是基于方向?qū)?shù)掩模求卷積的方法。MATLAB工具箱提供的edge()函數(shù)可針對(duì)sobel算子、prewitt算子、RobertS算子、LoG算子和canny算子實(shí)現(xiàn)檢測(cè)邊緣的功能?;诨叶鹊膱D像分割方法也可以用簡(jiǎn)單的MATLAB代碼實(shí)現(xiàn)。

除以上介紹的一些基本的圖像處理功能外,還有許多基于數(shù)學(xué)形態(tài)學(xué)與二值圖像的操作函數(shù),如二值圖像的膨脹運(yùn)算dilate0函數(shù)、腐蝕運(yùn)算erode0函數(shù)、種子填充功能bwfill()函數(shù)等。

六、結(jié)束語(yǔ)

本文只是進(jìn)行了一些簡(jiǎn)單的圖像處理,MTALAB軟件本身還包含一些復(fù)雜的圖像處理命令,四權(quán)樹(shù)分解、圖像分割算法,等等??傊琈TALAB作為一個(gè)強(qiáng)大的數(shù)據(jù)處理軟件為我們進(jìn)行科學(xué)研究提供了極大的方便。

參考文獻(xiàn):

[1]黃劍玲.利用MATLAB進(jìn)行數(shù)字圖像的分析和處理[J].計(jì)算機(jī)與現(xiàn)代化,2000,70(6):104—107.

[2]李了了,鄧善熙.MATLAB在圖像處理技術(shù)方面的應(yīng)用[J].徽計(jì)算機(jī)信息,2003,19(2):65-66.

[3]許志影,李晉平.MATLAB及其在圖像處理中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2003,92(4):64—65.

[4]孫兆林.MATLAB6.x圖像處理[M].北京:清華大學(xué)出版社,2002.

[5]何希平,張瓊?cè)A.基于MATLAB的圖像處理與分析[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,20(2):22—26.

[6]于潤(rùn)偉.MATLAB基礎(chǔ)及應(yīng)用EM].北京:機(jī)械工業(yè)出版社,2003.

猜你喜歡
邊緣檢測(cè)
基于數(shù)學(xué)形態(tài)學(xué)的一種改進(jìn)CO2焊熔池圖像邊緣檢測(cè)算法
離散過(guò)程神經(jīng)網(wǎng)絡(luò)和CGA相融合的邊緣檢測(cè)
基于圖像的物體尺寸測(cè)量算法研究
唐卡圖像邊緣提取
水下大壩裂縫圖像分割方法研究 
基于多算法融合的多車牌定位方法研究
基于高精度星敏感器的星圖降噪研究
基于灰度的圖像邊緣檢測(cè)與匹配算法的研究
基于TMS320的跑道異物監(jiān)測(cè)系統(tǒng)
基于邊緣檢測(cè)和色彩空間的混合車牌定位算法
罗甸县| 双桥区| 赤水市| 固始县| 神池县| 威远县| 天祝| 霍林郭勒市| 车致| 宜阳县| 西和县| 阳新县| 南华县| 尖扎县| 平乡县| 濉溪县| 湘潭市| 蒙城县| 灵璧县| 萍乡市| 灯塔市| 志丹县| 东乡县| 托里县| 嘉黎县| 建湖县| 措美县| 赤峰市| 星子县| 大方县| 清河县| 金山区| 全南县| 深圳市| 麻城市| 轮台县| 唐海县| 西贡区| 江口县| 宁阳县| 土默特右旗|