hough變換提取直線(Matlab實(shí)現(xiàn))_第1頁(yè)
hough變換提取直線(Matlab實(shí)現(xiàn))_第2頁(yè)
hough變換提取直線(Matlab實(shí)現(xiàn))_第3頁(yè)
hough變換提取直線(Matlab實(shí)現(xiàn))_第4頁(yè)
hough變換提取直線(Matlab實(shí)現(xiàn))_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Hough變換提取直線一、實(shí)驗(yàn)?zāi)繕?biāo)實(shí)現(xiàn)用Hough變換檢測(cè)直線的算法二、實(shí)驗(yàn)內(nèi)容1、讀入圖像選取有較多直線及部分曲線以作對(duì)比的圖像作為實(shí)驗(yàn)素材,這里我們必須使用彩色圖像(有些看似灰度圖像的實(shí)際屬性也是彩色圖像) ,原因下面有詳解。2、檢測(cè)圖像邊緣如果一個(gè)像素落在圖像中某一個(gè)物體的邊界上,那么它的鄰域?qū)⒊蔀橐粋€(gè)灰 度級(jí)變化的帶。 對(duì)這種變化最有用的兩個(gè)特征是灰度的變化率和方向, 他們分別 用梯度向量的幅度和方向來(lái)表示。邊緣檢測(cè)算子檢查每個(gè)像素的鄰域并對(duì)灰度變化率進(jìn)行量化,通常也包括方 向的確定。有若干種算子可以使用,大多數(shù)是基于方向?qū)?shù)掩模求卷積的方法。 如 Roberts 算子, Sobel

2、算子 , Prewitt 算子, Log 算子等。這里采用 Log 算子 提取圖像邊緣,再用均值濾波去除邊緣圖像噪聲。3、實(shí)現(xiàn)Houg變換,檢測(cè)出圖像中的直線Hough 變換是一種利用圖像的全局特征將特定形狀的邊緣連接起來(lái),形成連 續(xù)平滑邊緣的一種方法。 它通過(guò)將源圖像上的點(diǎn)影射到用于累加的參數(shù)空間, 實(shí) 現(xiàn)對(duì)已知解析式曲線的識(shí)別。這里先對(duì)邊緣圖像進(jìn)行二值化處理,然后再用 hough 變換提取直線,最后用 紅色標(biāo)記之。因?yàn)樘幚磉^(guò)程中需使用灰度圖像, 但最后無(wú)法給灰度圖像賦顏色 (會(huì) 出錯(cuò)或效果不好),只能給彩色圖像賦顏色,故最初輸入時(shí)請(qǐng)使用彩色圖像。4、Matlab 代碼如下:f=imread

3、('3.png');% 讀入彩色圖像,注意不能使用灰度圖像 o=f; % 保留彩色原圖f=rgb2gray(f);% 將彩色圖像轉(zhuǎn)換為灰度圖像, f=im2double(f);figure();subplot(2,2,1);imshow(o);title(' 原圖 ');m,n=size(f);% 得到圖像矩陣行數(shù)m,列數(shù)nfor i=3:m-2for j=3:n-2% 處理領(lǐng)域較大,所以從圖像( 3,3)開始,在( m-2,n-2 )結(jié)束 l(i,j)=-f(i-2,j)-f(i-1,j-1)-2*f(i-1,j)-f(i-1,j+1)-f(i,j-2 )-2

4、*f(i,j-1)+16*f(i,j)-2*f(i,j+1)-f(i,j+2)-f(i+1,j-1)-2*f (i+1,j)-f(i+1,j+1)-f(i+2,j);%LoG算子endendsubplot(2,2,2);imshow(l);title('LoG算子提取圖像邊緣 ');m,n=size(l);for i=2:m-1for j=2:n-1 y(i,j)=l(i-1,j-1)+l(i-1,j)+l(i-1,j+1)+l(i,j-1)+l(i,j)+l(i,j+1)+l( i+1,j-1)+l(i+1,j)+l(i+1,j+1);y(i,j)=y(i,j)/9; %Lo

5、G算子提取邊緣后,對(duì)結(jié)果進(jìn)行均值濾波以去除噪聲,為下一步 hough 變換提取直線作準(zhǔn)備endendsubplot(2,2,3);imshow(y);title('均值濾波器處理后 ')q=im2uint8(y); m,n=size(q); for i=1:mfor j=1:nif q(i,j)>80; q(i,j)=255; %else%設(shè)置二值化的閾值為 80對(duì)圖像進(jìn)行二值化處理,使圖像邊緣更加突出清晰q(i,j)=0;endendendsubplot(2,2,4);imshow(q);title('二值化處理后 ');%Houg變換檢測(cè)直線,使用(a

6、, p)參數(shù)空間,a 0,180,p 0,2d a=180; %角度的值為 0到180度d=round(sqrt(mA2+nT); %圖像對(duì)角線長(zhǎng)度為p的最大值s=zeros(a,2*d); % 存儲(chǔ)每個(gè) (a,p) 個(gè)數(shù)z=cell(a,2*d); % 用元胞存儲(chǔ)每個(gè)被檢測(cè)的點(diǎn)的坐標(biāo)for i=1:mfor j=1:n% 遍歷圖像每個(gè)點(diǎn)if(q(i,j)=255)%只檢測(cè)圖像邊緣的白點(diǎn),其余點(diǎn)不檢測(cè)for k=1:ap= round(i*cos(pi*k/180)+j*sin(pi*k/180);%對(duì)每個(gè)點(diǎn)從1到180度遍歷一遍,取得經(jīng)過(guò)該點(diǎn)的所有直線的p值(取整)if(p > 0)%

7、若p大于0,則將點(diǎn)存儲(chǔ)在(d,2d)空間s(k,d+p)=s(k,d+p)+1;%( a,p)相應(yīng)的累加器單元加一zk,d+p=zk,d+p,i,j'%存儲(chǔ)點(diǎn)坐標(biāo)elseap=abs(p)+1;% s(k,ap)=s(k,ap)+1;%(a zk,ap=zk,ap,i,j'% end若p小于0,則將點(diǎn)存儲(chǔ)在(0,d)空間 ,p)相應(yīng)的累加器單元加一 存儲(chǔ)點(diǎn)坐標(biāo)endendendendfor i=1:afor j=1:d*2 % 檢查每個(gè)累加器單元中存儲(chǔ)數(shù)量if(s(i,j) >70)%將提取直線的閾值設(shè)為 70lp=zi,j;%提取對(duì)應(yīng)點(diǎn)坐標(biāo)for k=1:s(i,j)%對(duì)滿足閾值條件的累加器單元中(a,p)對(duì)應(yīng)的所有點(diǎn)進(jìn)行操作o(lp(1,k),lp(2,k),1)=255; % o(lp(1,k),lp(2,k),2)=0;o(lp(1,k),lp(2,k),3)=0; %每個(gè)點(diǎn)R分量=255, G分量=0,B分量=0結(jié)果為在原圖上對(duì)滿足閾值要求的直線上的點(diǎn)賦紅色endendendend變換提取直線 ');figure,imshow(o);title('hough5、實(shí)驗(yàn)結(jié)果原圖LoG算子扌昱取圖像邊緣均值濾被器處理后二值化處理后hough變換扌昱取直線附:兩個(gè)參數(shù)的調(diào)節(jié)1. 二值化圖像的細(xì)節(jié)多少可

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論