資源簡介
本文件包為canny邊緣檢測算法代碼,matlab編寫,用于檢測圖像邊緣。

代碼片段和文件信息
clear?all;
close?all;
clc;
img=imread(‘lena.jpg‘);
imshow(img);
[m?n]=size(img);
img=double(img);
%%canny邊緣檢測的前兩步相對不復雜,所以我就直接調用系統函數了
%%高斯濾波
w=fspecial(‘gaussian‘[5?5]);
img=imfilter(imgw‘replicate‘);
figure?;%1
imshow(uint8(img))
%%sobel邊緣檢測
w=fspecial(‘sobel‘);
img_w=imfilter(imgw‘replicate‘);??????%求橫邊緣
w=w‘;
img_h=imfilter(imgw‘replicate‘);??????%求豎邊緣
img=sqrt(img_w.^2+img_h.^2);????????%注意這里不是簡單的求平均,而是平方和在開方。我曾經好長一段時間都搞錯了
figure?;
imshow(uint8(img))
%%下面是非極大抑制以求解局部最大值
new_edge=zeros(mn);
for?i=2:m-1
????for?j=2:n-1
????????Mx=img_w(ij);
????????My=img_h(ij);
????????if?My~=0
????????????o=atan(Mx/My);??????%邊緣的法線弧度
????????elseif?My==0?&&?Mx>0
????????????o=pi/2;
????????else
????????????o=-pi/2;????????????
????????end
????????%Mx處用My和img進行插值
????????adds=get_coords(o);??????%邊緣像素法線一側求得的兩點坐標,插值需要???????
????????M1=My*img(i+adds(2)j+adds(1))+(Mx-My)*img(i+adds(4)j+adds(3));???%插值后得到的像素,用此像素和當前像素比較?
????????adds=get_coords(o+pi);%邊緣法線另一側求得的兩點坐標,插值需要
????????M2=My*img(i+adds(2)j+adds(1))+(Mx-My)*img(i+adds(4)j+adds(3));???%另一側插值得到的像素,同樣和當前像素比較
????????isbigger=(Mx*img(ij)>M1)*(Mx*img(ij)>=M2)+(Mx*img(ij)
????????if?isbigger
???????????new_edge(ij)=img(ij);?
????????end????????
????end
end
figure?3;
imshow(uint8(new_edge))
%%下面是滯后閾值處理
up=120;?????%上閾值
low=100;????%下閾值
set(0‘RecursionLimit‘10000);??%設置最大遞歸深度
for?i=1:m
????for?j=1:n
??????if?new_edge(ij)>up?&&new_edge(ij)~=255??%判斷上閾值
????????????new_edge(ij)=255;
????????????new_edge=connect(new_edgeijlow);
??????end
????end
end
figure?4;
imshow(new_edge==255)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1906??2018-09-12?23:13??canny邊緣檢測算法_代碼\canny.m
?????文件????????486??2018-09-12?22:05??canny邊緣檢測算法_代碼\connect.m
?????文件????????326??2018-09-12?22:05??canny邊緣檢測算法_代碼\get_coords.m
?????目錄??????????0??2018-09-16?11:19??canny邊緣檢測算法_代碼
-----------?---------??----------?-----??----
?????????????????2718????????????????????4
- 上一篇:局部加權的線性回歸的matlab實現
- 下一篇:圖像畸變校正
評論
共有 條評論