hough变换连接边缘matlab,边缘检测与Hough变换实验报告 Matlab - 图文
《邊緣檢測(cè)與Hough變換實(shí)驗(yàn)報(bào)告 Matlab - 圖文》由會(huì)員分享,可在線閱讀,更多相關(guān)《邊緣檢測(cè)與Hough變換實(shí)驗(yàn)報(bào)告 Matlab - 圖文(5頁珍藏版)》請(qǐng)?jiān)谌巳宋膸炀W(wǎng)上搜索。
1、邊緣檢測(cè)與Hough變換實(shí)驗(yàn)報(bào)告 Matlab - 圖文邊緣檢測(cè)與Hough變換 實(shí)驗(yàn)?zāi)康?#xff1a;寫一段代碼實(shí)現(xiàn)一幅圖像,其中分為以下兩個(gè)步驟 1. 使用Matlab中的canny算子進(jìn)行邊緣檢測(cè),可以讓使用者交互式的輸入不同的Sigma的值實(shí)現(xiàn)邊緣檢測(cè)。 2. 運(yùn)用Hough變換來找到最突出的邊緣,在圖像中找到并畫出最長(zhǎng)的直線。 實(shí)驗(yàn)原理: canny算子邊緣檢測(cè)的基本原理是:采用二維高斯函數(shù)的任一方向上的一階方向?qū)?shù)為噪聲濾波器,通過與圖像f(x,y)卷積進(jìn)行濾波,然后對(duì)濾波后的圖像尋找圖像梯度的局部極大值,以確定圖像邊緣。 Canny邊緣檢測(cè)算子是一種最優(yōu)邊緣檢測(cè)算子。其實(shí)現(xiàn)步驟如下: 1) 。
2、用高斯濾波器平滑圖像 2) 計(jì)算濾波后圖像梯度的幅值和方向 3) 對(duì)梯度幅值應(yīng)用非極大值抑制,其過程為找出圖像梯度中的局部極大值點(diǎn),把其他非局部極大值置零,以得到細(xì)化的邊緣; 4) 再用雙閾值算法檢測(cè)和連接邊緣; 使用canny算子的edge函數(shù)調(diào)用格式為 BW=edge(I,canny); BW=edge(I,canny,thresh,sigma); BW=edge(I,canny,thresh); BW,threshold=edge(I,canny,?); 2.Hough變換時(shí)最常用的直線提取方法,它的基本思想是:將直線上每一個(gè)數(shù)據(jù)點(diǎn)變換為參數(shù)平面中的一條直線或曲線,利用共線的數(shù)據(jù)點(diǎn)對(duì)應(yīng)的。
3、參數(shù)曲線相交于參數(shù)空間中一點(diǎn)的關(guān)系,使得直線提取問題轉(zhuǎn)化為計(jì)數(shù)問題。Hough變換提取直線的主要優(yōu)點(diǎn)是受直線中的間隙和噪聲影響較小。 Hough檢測(cè)直線的Matlab實(shí)現(xiàn):在Matlab圖像處理工具箱中提供了3個(gè)與Hough變換有關(guān)的函數(shù),分別為hough函數(shù),houghpeaks函數(shù)和houghlines函數(shù)。 hough函數(shù)的調(diào)用格式為H,theta,rho=hough(BW);其中BW為二值圖像,H為Hough變換矩陣,theta為變換軸間隔,rho為元素個(gè)數(shù)。 Houghpeaks函數(shù)是用來提取Hough變換后參數(shù)平面上的峰值點(diǎn)。其調(diào)用格式為peaks=houghpeaks(H,num。
4、peaks),其中,H為Hough函數(shù)的輸出,參數(shù)平面的技術(shù)結(jié)果矩陣,參數(shù)numpeaks為指定要提取的峰值數(shù)目,默認(rèn)值為1;輸出參數(shù)peaks為Q*2維峰值位置矩陣,其中Q為提取的峰值數(shù)目,peaks的第q行分別存儲(chǔ)第q個(gè)峰值的行和列坐標(biāo)。 Hough函數(shù)用于在圖像中提取參數(shù)平面上的峰值點(diǎn)對(duì)應(yīng)的直線。其調(diào)用格式為lines=houghlines(BW,theta,rho,peaks) Lines=houghlines(?,param1,val1,param2,val2) 其中,BW與Hough函數(shù)的BW相同,為二值圖象。theta和rho為hough函數(shù)返回的輸出,指示軸和軸各個(gè)單元對(duì)應(yīng)的值。
5、。Peaks為houghpeaks函數(shù)返回的輸出,指示峰值的行和列坐標(biāo),houghlines函數(shù)將根據(jù)這些峰值提取直線。Param和val是參數(shù)對(duì),用于指定是否合并或保留直線段的相關(guān)參數(shù),其取值有兩種。當(dāng)param=MinLength時(shí),bal指定合并后的直線被保留的門限長(zhǎng)度,長(zhǎng)度小于val的直線被舍去。當(dāng)param=FillGap時(shí),val指定直線段被合并的門限間隔。如果兩條斜率和截距均相同的直線段間隔小于val給點(diǎn)的值,則它們被合并為一條直線。 實(shí)驗(yàn)程序與實(shí)驗(yàn)結(jié)果如下: nny算子邊緣檢測(cè) clear all; I1=imread(F:robotImagessniper.jpg); I=r。
6、gb2gray(I1);% 彩色圖像灰度化 imshow(I1); title(原始圖像); BW1= edge(I,Canny,0.4,0.5) ; ge調(diào)用Canny為檢測(cè)算子判別閾值為0.5 figure,imshow(BW1); title( 閾值為0.4,sigma值為0.5的Canny算子邊緣檢測(cè)圖像 ); BW2= edge(I,Canny,0.4,0.8) ; ge調(diào)用Canny為檢測(cè)算子判別閾值為0.8 figure,imshow(BW2); title( 閾值為0.4,sigma值為0.8的Canny算子邊緣檢測(cè)圖像); BW20= edge(I,Canny,0.4,1) 。
7、; ge調(diào)用Canny為檢測(cè)算子判別閾值為1 figure,imshow(BW20); title( 閾值為0.4,sigma值為1的Canny算子邊緣檢測(cè)圖像); BW21= edge(I,Canny,0.4,1.5) ; ge調(diào)用Canny為檢測(cè)算子判別閾值為1.5 figure,imshow(BW21); title( 閾值為0.4,sigma值為1.5的Canny算子邊緣檢測(cè)圖像 ); BW22= edge(I,Canny,0.4,2) ; ge調(diào)用Canny為檢測(cè)算子判別閾值為2 figure,imshow(BW22); title( 閾值為0.4,sigma值為2的Canny算子邊。
8、緣檢測(cè)圖像 ); %Hough變換檢測(cè)直線程序 rotI=I; BW=edge(rotI,canny,0.4,1.5); %用canny算子提取圖像邊緣 H,T,R=hough(BW); %對(duì)圖像進(jìn)行Hough變換 figure; imshow(H, ,XData,T,YData,R,. InitialMagnification,fit); title(峰值提取效果); xlabel(theta),ylabel(rho); axis on,axis normal,hold on; %尋找參數(shù)平面上的極值點(diǎn) P =houghpeaks(H,5,threshold,ceil(0.3*max(H(:。
9、); x=T(P(:,2);y=R(P(:,1); plot(x,y,s,color,white); %找出對(duì)應(yīng)的直線邊緣 lines=houghlines(BW,T,R,P,FillGap,58,MinLength,5); figure,imshow(BW), title(直線標(biāo)記結(jié)果); hold on max_len=0; for k=1:length(lines) xy=lines(k).point1;lines(k).point2; plot(xy(:,1),xy(:,2),LineWidth,2,Color,green); %標(biāo)記直線邊緣對(duì)應(yīng)的起點(diǎn) plot(xy(1,1),xy(1,2),x,LineWidth,2,Color,yellow); plot(xy(2,1),xy(2,2),x,LineWidth,2,Color,red); %計(jì)算直線邊緣長(zhǎng)度 len=norm(lines(k).point1-lines(k).point2); if(lenmax_len) max_len=len; xy_long=xy; end end plot(xy_long(:,1),xy_long(:,2),LineWidth,2,Color,r); 程序結(jié)果:。
總結(jié)
以上是生活随笔為你收集整理的hough变换连接边缘matlab,边缘检测与Hough变换实验报告 Matlab - 图文的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA入门级教学之(匿名内部类)
- 下一篇: 多元线性回归分析matlab实验报告,利