《數(shù)字圖像處理》課內(nèi)實驗_new_第1頁
《數(shù)字圖像處理》課內(nèi)實驗_new_第2頁
《數(shù)字圖像處理》課內(nèi)實驗_new_第3頁
《數(shù)字圖像處理》課內(nèi)實驗_new_第4頁
《數(shù)字圖像處理》課內(nèi)實驗_new_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)字圖像處理課內(nèi)實驗實驗一 直方圖均衡一、實驗題目: 直方圖均衡二、實驗?zāi)康模涸趯W(xué)習(xí)圖像直方圖的概念、計算方法、性質(zhì)和相關(guān)應(yīng)用基礎(chǔ)上,生成、繪制圖像的直方圖,并應(yīng)用MATLAB編程實現(xiàn)圖像直方圖均衡化程序。三、實驗內(nèi)容:(1)計算并繪制圖像直方圖;(2)編程實現(xiàn)圖像的直方圖均衡化處理,顯示均衡前后的直方圖和圖像;四、預(yù)備知識:(1)熟悉圖像讀寫和顯示;(2)理解圖像直方圖的概念及用途;(3)理解直方圖均衡化的概念及應(yīng)用背景;五、實驗原理: 在對圖像進(jìn)行處理之前,了解圖像整體或局部的灰度分布情況非常必要。對圖像的灰度分布進(jìn)行分析的重要手段就是建立圖像的灰度直方圖(Density Histogra

2、m),利用圖像灰度直方圖,可以直觀地看出圖像中的像素亮度分布情況;通過直方圖均衡化,可以對圖像的質(zhì)量進(jìn)行調(diào)整。(1)生成并繪制圖像的直方圖假設(shè)一幅數(shù)字圖像的像素總數(shù)為N,在范圍0,G內(nèi)共有L個灰度級,其直方圖定義為離散函數(shù),其中,rk是區(qū)間0,G內(nèi)的第K級的亮度,nk是灰度級為rk的圖像中的像素數(shù)。對于uint 8類圖像,G的值為255;對于uint 16類圖像,G的值為65535;對于double類圖像,G的值為1.0。記住,MATLAB中的索引不能為0,故r1相當(dāng)于灰度級0,r2相當(dāng)于灰度級1,如此等等,rL相當(dāng)于灰度級G。其中,uint 8類圖像或uint 16類圖像中G=L-1。通常,

3、會用到歸一化直方圖,即用所有元素h(rk)除以圖像中的像素總數(shù)N所得到的圖形:P(rk)表示灰度級rk出現(xiàn)的頻數(shù)。MATLAB圖像處理工具箱提供了imhist函數(shù)來計算和顯示圖像的直方圖,其調(diào)用格式為:imhist(I,b)COUNTS,X = imhist(I)其中I為輸入圖像,b為指定的灰度級數(shù)目,默認(rèn)值為256。COUNTS,X=imhist()返回直方圖統(tǒng)計的數(shù)據(jù)和相應(yīng)的灰度級向量X。使用表達(dá)式p= imhist(I,b)/N就可簡單地獲得歸一化直方圖,這里N為圖像中的像素總數(shù)。顯示圖像lean.bmp的直方圖及歸一化直方圖,如圖1.2.1所示。(a) 原圖 (b) 直方圖 (c) 歸

4、一化直方圖圖1.2.1 灰度圖像的直方圖及歸一化直方圖如果圖像的灰度分別集中在較窄的區(qū)間,從而引起圖像細(xì)節(jié)的模糊,為了增強圖像,可通過改善各部分亮度的比例關(guān)系,即通過直方圖的方法來實現(xiàn)。這種方法是以概率論為基礎(chǔ)的,常用的方法有直方圖均衡化和直方圖匹配(規(guī)定化)。(2) 直方圖均衡化直方圖均衡化也叫做直方圖均勻化,是將一已知灰度概率密度分布的圖像,經(jīng)過某種變換,變成一幅具有均勻灰度概率密度分布的新圖像,此時圖像的熵最大,圖像所包含的信息量最大,且擴展了像元取值的動態(tài)范圍,從而達(dá)到增強圖像整體對比度的效果。設(shè)一幅圖像總像元數(shù)為N,灰度級的個數(shù)為L,第K個灰度級rk出現(xiàn)的頻數(shù)為nk,則第k灰度級出現(xiàn)

5、的概率為此時變換函數(shù)可表示為根據(jù)原圖像的直方圖統(tǒng)計值就可算出均衡化后各像元的灰度值。直方圖上灰度分布較密的部分被拉伸;灰度分布較稀疏的部分被壓縮,使圖像對比度總體上得到增強。MATLAB圖像處理工具箱提供了直方圖均衡函數(shù)histeq。其調(diào)用格式為:J = histeq(I,n);J,T = histeq(I,);其中,n是均衡化后的灰度級數(shù)目,是一個可選參數(shù),缺省值是64。J,T=histeq(I,)返回能從圖像I的灰度直方圖變換成圖像J的直方圖的變換函數(shù)T。顯示圖像RSImg.gif的直方圖均衡化前后的圖像及對應(yīng)的直方圖,如圖2-3所示。(a)原圖像 (b) 直方圖均衡化后圖像 (c) 原圖

6、的直方圖 (d) 均衡化后的直方圖圖1.2.3 直方圖均衡化前后的圖像及其直方圖經(jīng)過均衡化后,原圖中較暗區(qū)域中的一些細(xì)節(jié)更清晰。六、實驗步驟:(1)打開一幅灰度圖像,利用MATLAB工具箱所提供的函數(shù)計算并繪制圖像的直方圖和歸一化直方圖;(2)利用相應(yīng)的MATLAB函數(shù)對灰度圖像進(jìn)行直方圖均衡化,顯示均衡化后的圖像及對應(yīng)的直方圖,分析均衡化后圖像有何變化,均衡化后的直方圖有何特點;七、思考題(1) 灰度直方圖可以反映一幅圖像的哪些特征?(2) 均衡化后的直方圖有何特點?八、實驗程序代碼:(1)生成并繪制灰度圖像的直方圖及歸一化直方圖clear all;I=imread('lena_gr

7、ay_256.tif'); %打開一幅灰度圖像m,n=size(I);p=m*n;J=imhist(I)./p; %計算圖像的歸一化直方圖subplot(1,3,1),imshow(I);subplot(1,3,2),imhist(I,64);subplot(1,3,3),plot(J);(2)直方圖均衡化clear all;Im=imread('region.jpg');J=histeq(Im); %均衡化subplot(2,2,1);imshow(Im);title('原圖'); %顯示原圖subplot(2,2,2);imhist(Im);titl

8、e('原圖直方圖'); %顯示原圖的直方圖subplot(2,2,3);imshow(J);title('均衡化結(jié)果'); %顯示均衡化后的圖像subplot(2,2,4);imhist(J);title('均衡化結(jié)果的直方圖'); %顯示均衡化后的直方圖實驗二 頻域圖像增強一、實驗題目: 頻域圖像增強二、實驗?zāi)康模赫莆栈陬l域的圖像增強方法。三、實驗內(nèi)容:(1)編程實現(xiàn)圖像的理想低通和高通濾波;(2)編程實現(xiàn)圖像的巴特沃斯低通和高通濾波。四、預(yù)備知識:(1)熟悉MATLAB圖像輸入輸出操作;(2)熟悉圖像的頻域變換處理;(3)熟悉二維頻譜的顯示

9、方法。五、實驗原理:圖像增強是對圖像進(jìn)行加工,以得到視覺效果更好或更有用的新圖像。圖像增強在處理方法上可分為基于空域的圖像增強和基于頻域的圖像增強。頻域圖像增強的步驟:首先將圖像變換到頻域,然后在頻域進(jìn)行需要的濾波,即和濾波器轉(zhuǎn)移函數(shù)相乘,最后反變換回時域得到增強的圖像。常用的頻域增強方法有低通濾波、高通濾波、帶通和帶阻濾波和同態(tài)濾波。2-D理想濾波器轉(zhuǎn)移函數(shù):低通: , 高通: (1.6.1)是非負(fù)數(shù),是從點到頻率平面原點的距離。階數(shù)為n,截斷頻率為的2-D巴特沃斯濾波器轉(zhuǎn)移函數(shù): 高通: (1.6.2)六、 實驗步驟:(1) 讀入圖像;(2) 實現(xiàn)圖像的理想低通和高通濾波;(3) 實現(xiàn)圖像

10、的巴特沃斯低通和高通濾波。七、 思考題目:分析為什么圖像通過低通濾波器后變得模糊?為什么通過高通濾波器后得到銳化結(jié)果?八、 實驗程序代碼:圖像頻域濾波可用fft2函數(shù)把圖像變換到頻域,在頻域按公式(1.6.1)、(1.6.2)分別實現(xiàn)頻域的理想高低通濾波和頻域的巴特沃斯高低通濾波,最后用ifft2反變換到時域得到最后結(jié)果。二維頻譜的顯示可用函數(shù)mesh完成。用巴特沃斯濾波器對圖像進(jìn)行低通和高通濾波的例子見圖1.6.1。圖1.6.1 圖像頻率濾波完整的代碼:%理想低通和高通clc;clear;data4=imread('lena.gif');subplot(3,2,1); ims

11、how(data4);title('原圖');i=fft2(data4);subplot(3,2,2); i=fftshift(i); z=log(abs(i); x=0:1:255;y=0:1:255;x,y=meshgrid(x,y);mesh(z); %以三維坐標(biāo)顯示該圖像頻譜圖title('原圖頻譜');n,m=size(i); %對該圖進(jìn)行低通濾波for k=1:1:n for l=1:1:m if (k2+l2)>=1902 %選取D=190 result(k,l)=0; else result(k,l)=i(k,l); end endends

12、ubplot(3,2,4);z=log(abs(result); %三維方式顯示低通濾波后的頻譜圖x=0:1:255;y=0:1:255;x,y=meshgrid(x,y);mesh(z);title('理想低通濾波后的頻譜');subplot(3,2,3); %新建圖像顯示窗口result=fftshift(result); %濾波后的數(shù)據(jù)去中心化b=ifft2(result); %逆傅里葉變換imshow(uint8(abs(b);title('理想低通濾波后的圖像');subplot(3,2,6); %新建圖像顯示窗口 % n,m=size(c); %對原

13、圖進(jìn)行高通濾波 for k=1:1:n for l=1:1:m if (k2+l2)<=1902 %選取D=190 result(k,l)=0; else result(k,l)=i(k,l); end endendz=log(abs(result);x=0:1:255; %三維方式顯示高通濾波前的頻譜圖 y=0:1:255;x,y=meshgrid(x,y);mesh(z);title('理想高通濾波后的頻譜');subplot(3,2,5); result=fftshift(result); %濾波后的數(shù)據(jù)去中心化d=ifft2(result); %逆傅里葉變換ims

14、how(uint8(abs(d);title('理想高通濾波后的圖像');%頻域增強(巴特沃斯原型)%二階巴特沃斯(Butterworth)低通濾波器%clc;%clear;Figure;J1=imread('lena.gif');subplot(3,2,1);imshow(J1);title('原圖');f=double(J1); g=fft2(f); % 傅立葉變換g=fftshift(g); % 轉(zhuǎn)換數(shù)據(jù)矩陣subplot(3,2,2);x=0:1:255;y=0:1:255;x,y=meshgrid(x,y);z=log(abs(g);

15、%取幅度mesh(z); %以三維坐標(biāo)顯示該圖像頻譜圖title('原圖頻譜');M,N=size(g);nn=2; % 二階巴特沃斯(Butterworth)低通濾波器d0=20;m=fix(M/2); n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); % 計算低通濾波器傳遞函數(shù) result(i,j)=h*g(i,j); endendsubplot(3,2,4);x=0:1:255;y=0:1:255;x,y=meshgrid(x,y);z=log(abs(resu

16、lt); %取幅度mesh(z); %以三維坐標(biāo)顯示該圖像頻譜圖title('低通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2);subplot(3,2,3);imshow(J3);title('低通濾波后的圖像');%利用二階巴特沃斯(Butterworth)高通濾波器nn=2; % 二階巴特沃斯(Butterworth)高通濾波器d0=5;m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); if

17、(d=0) h=0; else h=1/(1+0.414*(d0/d)(2*nn);% 計算傳遞函數(shù) end result(i,j)=h*g(i,j); endendsubplot(3,2,6);x=0:1:255;y=0:1:255;x,y=meshgrid(x,y);z=log(abs(result); %取幅度mesh(z); %以三維坐標(biāo)顯示該圖像頻譜圖title('高通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2);subplot(3,2,5);imshow(J3);title(&

18、#39;高通濾波后的圖像');實驗三 圖像邊緣檢測與連接一、實驗題目: 圖像邊緣檢測與連接二、實驗?zāi)康模赫莆請D像邊緣檢測的主要原理和常用方法;依據(jù)邊緣檢測理論,實現(xiàn)灰度圖像一階和二階邊緣檢測方法;編程實現(xiàn)Hough變換提取直線;啟發(fā)學(xué)生依據(jù)邊緣特征進(jìn)行圖像分析與識別,提高學(xué)生圖像處理與分析能力和實際動手能力。三、實驗內(nèi)容:(1)編程實現(xiàn)一階差分邊緣檢測算法,包括Robert梯度算子、Prewitt算子、Sobel算子等;(2)編程實現(xiàn)二階差分拉普拉斯邊緣檢測算法以及LoG檢測法和Canny檢測法;(3)分析與比較各種邊緣檢測算法的性能; (4)編程實現(xiàn)Hough變換提取直線 (5)分析

19、Hough變換檢測性能;四、預(yù)備知識:(1)熟悉圖像讀寫和顯示;(2)熟悉圖像分割理論;(3)熟悉Hough變換的基本原理;(4)熟悉Hough變換提取直線的方法;五、實驗原理:1、邊緣檢測圖像邊緣是圖像的重要特征,是圖像中特性(如像素灰度、紋理等)分布的不連續(xù)處,圖像周圍特性有階躍變化或屋脊?fàn)钭兓哪切┫袼丶稀D像的邊緣部分集中了圖像的大部分信息,一幅圖像的邊緣結(jié)構(gòu)與特點往往是決定圖像特質(zhì)的重要部分。圖像邊緣的另一個定義是指其周圍像素灰度變化不連續(xù)的那些像素的集合。邊緣廣泛存在于物體與背景之間、物體與物體之間,因此,邊緣是圖像分割、圖像理解及圖像識別的重要特征。圖像邊緣檢測主要用于增強圖像

20、中的輪廓邊緣、細(xì)節(jié)以及灰度跳變部分,形成完整的物體邊界,達(dá)到將物體從圖像中分離出來或?qū)⒈硎就晃矬w表面的區(qū)域檢測出來的目的。目前為止最通用的方法是檢測亮度值的不連續(xù)性,用一階和二階導(dǎo)數(shù)檢測的。(1)微分法微分法的目的是利用微分運算求信號的變化率,加強高頻分量的作用,從而使輪廓清晰。遵循如下兩個基本準(zhǔn)則之一:找到亮度的一階導(dǎo)數(shù)在幅度上比指定的閾值大的地方;找到亮度的二階導(dǎo)數(shù)有零交叉的地方。(2)差分邊緣檢測方法利用像素灰度的一階導(dǎo)數(shù)算子在灰度迅速變化處得到高值來進(jìn)行奇異點的檢測。它在某一點的值就代表該點的邊緣強度,通過對這些值設(shè)置閾值來進(jìn)一步得到邊緣圖像。差分邊緣檢測方法是最原始、最基本的方法。

21、但要求差分方向與邊緣方向垂直,這就需要對圖像的不同方向(一般為垂直方向、水平方向和對角線方向)都進(jìn)行差分運算,增加了實際運算的繁瑣性,目前很少采用。(3)Roberts邊緣檢測算子Roberts邊緣檢測算子根據(jù)任意一對互相垂直方向上的差分可用來計算梯度的原理,采用對角線方向相鄰兩像素之差,即:然后根據(jù)式(1.7.2)計算出Roberts的梯度幅度值:它們的卷積算子為:Roberts檢測器較為簡單,但具有一些功能上的限制,例如,它是非對稱的,而且不能檢測諸如45°倍數(shù)的邊緣。然而,它還是經(jīng)常用于硬件實現(xiàn)中,因為它既簡單又快速。(4)Sobel邊緣檢測算子對數(shù)字圖像的每個像素,考察它上下

22、左右鄰點灰度的加權(quán)差,與之接近的鄰點的權(quán)大。據(jù)此,定義Sobel算子如下:卷積算子為:Sobel算子很容易在空間上實現(xiàn),邊緣檢測效果較好,且受噪聲的影響也較小。鄰域增大抗噪性會更好,但計算量也會增大,得出的邊緣也會相應(yīng)變粗。Sobel算子會檢測出許多偽邊緣,邊緣定位精度不夠高,在精度要求不高時是一種較常用的邊緣檢測方法。(5)Prewitt邊緣檢測算子Prewitt邊緣檢測算子模板如下:圖像中的每個像素都用這兩個核作卷積,一個核對垂直邊緣影響最大,另一個核對水平邊緣影響最大。兩個卷積的絕對值的最大值作為該點的輸出值。不能簡單的將小于0的值處理為0,這樣會丟失信息。它比Sobel檢測器在計算上要

23、簡單一些,但比較容易產(chǎn)生一些噪聲。(6)拉普拉斯邊緣檢測算子拉普拉斯邊緣檢測算子是一種二階微分算子,與其它邊緣檢測方法的不同之處在于,該方法是一種各向同性的檢測方法,即其邊緣的增強程度與邊緣的方向無關(guān),從而可以滿足不同走向的邊緣銳化的要求。定義如下:幾種常用的實現(xiàn)Laplace運算的檢測模板如下:拉普拉斯算子自身很少被直接用作邊緣檢測,因為二階導(dǎo)數(shù)對噪聲具有無法接受的敏感性,它的幅度會產(chǎn)生雙邊緣,而且它不能檢測邊緣的方向。然而,當(dāng)與其它邊緣檢測技術(shù)組合使用時,拉普拉斯算子是一種有效的補充方法。例如,雖然它的雙邊緣使得它不適合直接用于邊緣檢測,但該性質(zhì)可用于邊緣定位。(7)Laplacian o

24、f a Gaussian(LoG)檢測器高斯函數(shù) 其中,r2=x2+y2,是標(biāo)準(zhǔn)偏差。這是一個平滑函數(shù),若和一幅圖像卷積,則會使圖像變模糊。模糊程度由的值決定。該函數(shù)的拉普拉斯算子為:求二階導(dǎo)數(shù)是線性運算,所以用對圖像進(jìn)行卷積與先用平滑函數(shù)對圖像卷積再計算結(jié)果的拉普拉斯算子是一樣的。這是LoG檢測器最關(guān)鍵的概念,用對圖像卷積會產(chǎn)生兩個效果:是圖像變平滑(從而減少噪聲);計算拉普拉斯算子,以便產(chǎn)生雙邊緣圖像。然后,定位邊緣就是找到兩個邊緣之間的零交叉。(8)Canny邊緣檢測器Canny檢測器的效果較好,更適合用于檢測真正的弱邊緣。Canny算子給出了一個好的邊緣檢測算子的3個指標(biāo):低失誤率,即

25、真正的邊緣點盡可能提取,非邊緣點盡可能不提??;高位置精度,檢測的邊緣應(yīng)盡可能接近真實邊緣;對每一個邊緣點有唯一的響應(yīng),即得到單像素寬度的邊緣。(9)各種算子的MATLAB實現(xiàn)及效果比較在MATLAB中可以由edge函數(shù)實現(xiàn)各算子對邊緣的檢測,其調(diào)用格式為:BW = edge(I,METHOD)自動選擇閾值用指定的算子進(jìn)行邊緣檢測;BW = edge(I,METHOD,THRESH)根據(jù)給定的閾值THRESH用指定的算子進(jìn)行邊緣檢測,忽略所有小于閾值的邊緣。當(dāng)THRESH為空時,自動選擇閾值;BW, THRESH = edge(I,METHOD,)返回edge使用的閾值,以確定哪個梯度值足夠大到

26、可以稱為邊緣點。其中,I為輸入圖像。返回圖像BW為與I同大的二值圖像,1表示邊緣,0表示非邊緣。I是unit8型、unit16型,或者是double型,BW是unit8型。METHOD:使用檢測算子的類型,經(jīng)常使用的有:sobel:缺省值,用導(dǎo)數(shù)的sobel近似值檢測邊緣,那些梯度最大的點返回邊緣。roberts:用導(dǎo)數(shù)的roberts近似值檢測邊緣,那些梯度最大的點返回邊緣。prewitt:用導(dǎo)數(shù)的prewitt近似值檢測邊緣,那些梯度最大的點返回邊緣。LoG:用LoG算子檢測邊緣。Canny:用Canny算子檢測邊緣。THRESH:指定的閾值,所有不強于thresh的邊緣都被忽略。使用幾種

27、典型邊緣檢測算子得到的邊緣圖像如圖1.7.2所示。(a) 原圖像 (b) Sobel檢測的邊緣(c)Roberts檢測的邊緣 (d) Prewitt檢測的邊緣(e) LoG檢測的邊緣 (f) Canny檢測的邊緣圖1.7.2 使用幾種典型邊緣檢測算子得到的邊緣圖由圖可見,Canny算子的檢測結(jié)果明顯優(yōu)于其它幾個檢測算子,除了檢測到要求的特征外,還產(chǎn)生了最清晰的映射。2、邊緣連接Hough變換是圖像處理中從圖像中識別幾何形狀的基本方法之一。Hough變換的基本原理在于利用點與線的對偶性,將原始圖像空間的給定的曲線通過曲線表達(dá)形式變?yōu)閰?shù)空間的一個點。這樣就把原始圖像中給定曲線的檢測問題轉(zhuǎn)化為尋找

28、參數(shù)空間中的峰值問題。也即把檢測整體特性轉(zhuǎn)化為檢測局部特性。比如直線、橢圓、圓、弧線等。Hough變換檢測直線的原理Hough變換的核心是兩個坐標(biāo)系的變換。總所周知,一個點或者一個線段在不同坐標(biāo)系下的表現(xiàn)形式是不同的。圖像空間中一個像素的位置坐標(biāo)對應(yīng)Hough空間(Hough變換以后的空間,極坐標(biāo)空間較常用)中的一條曲線,即直角坐標(biāo)系中的點(x,y)與極坐標(biāo)系中的正弦曲線相對應(yīng)。如果圖像空間中n個像素共一直線,那么它們Hough空間中的n條正弦曲線有一個公共交點如圖5-1所示。把一幅圖像中的所有有效像素(如二值化后的黑色像素)均對應(yīng)到Hough空間,在Hough空間通過某交點的正弦曲線越多,此

29、點所對應(yīng)的圖像空間的直線存在的可能性越大。將有較多正弦曲線通過的交點稱做興趣點(Point of Intereste, POI),Hough空間的興趣點越多說明圖像空間的直線越多。在Hough空間中對通過興趣點的正弦曲線數(shù)進(jìn)行簡單的累加統(tǒng)計操作來完成直線檢測任務(wù)。 (a) 圖像空間的點 (b) 參數(shù)空間的正弦曲線圖2.5.1 Hough變換檢測直線圖2.5.1(a)中為從原點到直線的垂直距離,為從x軸算起的角度,這條直線在-平面中為一點,見圖2.5.1(b)。Hough變換檢測直線的算法步驟如下:圖像預(yù)處理,一般Hough變換只適應(yīng)于黑白圖像,即Hough變換之前應(yīng)首先進(jìn)行圖像邊緣提??;初始化

30、一個、平面的數(shù)組。一般方向上的量化數(shù)目為對角線方向像素數(shù),方向上的量化間距為2°;順序搜索圖像的所有黑點,對每一個黑點,按式(5.1)計算、取不同值,分別將對應(yīng)的數(shù)組元素加1;求出數(shù)組中的最大值并記錄對應(yīng)的、;繪出、對應(yīng)的直線。Hough變換的基本策略是:由圖像空間中的邊緣數(shù)據(jù)點去計算參數(shù)空間中的參考點的可能軌跡,并在一個累加器中給計算出的參考點計數(shù),最后選出峰值。在matlab中,使用hough函數(shù)計算二值圖像的標(biāo)準(zhǔn)Hough變換。調(diào)用格式為:H, THETA, RHO = HOUGH(BW);H, THETA, RHO = HOUGH(BW,PARAM1,VAL1,PARAM2,

31、VAL2);其中BW是作過邊緣提取的二值圖像,H是Hough變換后得到的矩陣,THETA、RHO分別對應(yīng)Hough變換矩陣的每一列和每一行的值和值。PARAM1即為'ThetaResolution',它定義了Hough變換矩陣沿著theta軸的間隔,缺省值為1;PARAM2即為'RhoResolution',它定義了Hough變換矩陣沿著rho軸的間隔,缺省值為1。使用Hough變換進(jìn)行線檢測和鏈接的第一步是峰值檢測。因為數(shù)字圖像的空間中的量化、Hough變換的參數(shù)空間中的量化以及典型圖像的邊緣都不是很直這個事實,Hough變換的峰值一般都位于多個Hough變換

32、單元中。在matlab中,函數(shù)houghpeaks可用于在Hough變換中找到一組有意義的明顯峰值。調(diào)用格式為:PEAKS = HOUGHPEAKS(H,NUMPEAKS);PEAKS = HOUGHPEAKS(.,PARAM1,VAL1,PARAM2,VAL2);其中NUMPEAKS規(guī)定了能夠識別的最多峰值數(shù),缺省值為1;PEAKS是一個Q×2的矩陣,其中Q的取值范圍0-NUMPEAKS。PARAM1即為'Threshold',它是非負(fù)參數(shù),缺省值為0.5*max(H(:) ,H矩陣中高于Threshold的值才被認(rèn)為是峰;PARAM2即為'NHoodSiz

33、e',它是一個二元向量m,n,取值為正奇數(shù),定義了峰值附近的鄰域尺寸,當(dāng)峰值確定后,每一個峰值附近的鄰域值被設(shè)為0,缺省值取最小的奇數(shù)值大于或等于size(H)/50 。找到的位置相關(guān)的像素用函數(shù)houghlines鏈接線段,調(diào)用格式為:LINES = HOUGHLINES(BW, THETA, RHO, PEAKS);LINES = HOUGHLINES(.,PARAM1,VAL1,PARAM2,VAL2);其中PARAM1即為'FillGap',它是正實數(shù),缺省值為20 ,當(dāng)兩線段間隔小于'FillGap'數(shù)值時,被合并在一起;PARAM2即為

34、9;MinLength',它是正實數(shù),缺省值為40 ,融合后線段長度小于'MinLength'的被舍棄。在這個例子中,使用函數(shù)hough, houghpeaks和houghlines來尋找圖像中的一組線段。注:圖像須首先邊緣提取得到二值圖才能進(jìn)行hough變換,結(jié)果如圖2.5.2。 (a) 原始圖像 (b) 帶有所選5個峰值位置 (c) Hough變換峰值的Hough變換 對應(yīng)的線段圖2.5.2 使用Hough變換作線檢測檢測和連接圖2.5.2(b)顯示了帶有5個看起來很明顯峰值位置重疊的Hough變換。圖2.5.2(c)顯示了結(jié)果圖像,其中檢測到的線段疊加為綠色的粗線

35、。Hough變換運算量太大,且不考慮各點之間的距離信息,易于將不屬于直線的點也連接到直線上,產(chǎn)生所謂過連接。實際中,通??砂褕D像分成小塊,對各塊圖像利用Hough變換提取直線,然后將各直線連接起來,或增加變換過程中的遍歷步徑,來減少運算量。六、實驗步驟:1、邊緣檢測(1)打開一幅灰度圖像,利用MATLAB工具箱所提供的edge函數(shù),用典型的幾種邊緣檢測算子,分別對圖像進(jìn)行邊緣檢測,顯示檢測結(jié)果;(2)分析比較不同算子的檢測效果;2、邊緣連接(3)打開一幅灰度圖像,利用MATLAB工具箱所提供的函數(shù)提取其邊緣,得到邊緣二值圖;(4)利用相應(yīng)的MATLAB函數(shù)對該二值圖像進(jìn)行Hough變換,提取峰值點,鏈接峰值點得到線段;七、思考題目:(1)邊緣的方向是什么意思?為什么要考慮邊緣的方向?(2)Hough變換原理是什么?八、實驗程序代碼:1、邊緣檢測由edge函數(shù)實現(xiàn)各算子對圖像的邊緣檢測clear all;I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論