边缘提取和边缘检测matlab程序代码大全.doc

边缘提取和边缘检测matlab程序代码大全.doc

ID:50848662

大小:32.50 KB

页数:11页

时间:2020-03-15

边缘提取和边缘检测matlab程序代码大全.doc_第1页
边缘提取和边缘检测matlab程序代码大全.doc_第2页
边缘提取和边缘检测matlab程序代码大全.doc_第3页
边缘提取和边缘检测matlab程序代码大全.doc_第4页
边缘提取和边缘检测matlab程序代码大全.doc_第5页
资源描述:

《边缘提取和边缘检测matlab程序代码大全.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、附录Part1:对cameraman原始图像处理的仿真程序:clcclearallcloseallA=imread('cameraman.bmp');%读入图像subplot(2,4,1);imshow(A);title('原图');x_mask=[10;0-1];%建立X方向的模板y_mask=rot90(x_mask);%建立Y方向的模板I=im2double(A);%将图像数据转化为双精度dx=imfilter(I,x_mask);%计算X方向的梯度分量dy=imfilter(I,y_mas

2、k);%计算Y方向的梯度分量grad=sqrt(dx.*dx+dy.*dy);%计算梯度grad=mat2gray(grad);%将梯度矩阵转换为灰度图像level=graythresh(grad);%计算灰度阈值BW=im2bw(grad,level);%用阈值分割梯度图像subplot(2,4,2);imshow(BW);%显示分割后的图像即边缘图像title('Roberts');y_mask=[-1-2-1;000;121];x_mask=y_mask';I=im2double(A);dx

3、=imfilter(I,x_mask);dy=imfilter(I,y_mask);grad=sqrt(dx.*dx+dy.*dy);%计算梯度grad=mat2gray(grad);level=graythresh(grad);BW=im2bw(grad,level);subplot(2,4,3);imshow(BW);%显示分割后的图像即边缘图像title('Sobel');y_mask=[-1-1-1;000;111];x_mask=y_mask';dx=imfilter(I,x_mask)

4、;dy=imfilter(I,y_mask);grad=sqrt(dx.*dx+dy.*dy);%计算梯度grad=mat2gray(grad);level=graythresh(grad);BW=im2bw(grad,level);%用阈值分割梯度图像subplot(2,4,4);imshow(BW);%显示分割后的图像即边缘图像title('Prewitt');mask=[0,-1,0;-1,4,-1;0,-1,0];%建立模板dx=imfilter(I,mask);%计算梯度矩阵grad=m

5、at2gray(dx);%将梯度矩阵转化为灰度图像BW=im2bw(grad,0.58);%用阈值分割梯度图像subplot(2,4,5);imshow(BW);%显示分割后的图像,即梯度图像title('Laplacian');mask=[0,0,-1,0,0;0,-1,-2,-1,0;-1,-2,16,-2,-1;0,-1,-2,-1,0;0,0,-1,0,0];%建立模板dx=imfilter(I,mask);%计算梯度矩阵grad=mat2gray(dx);%将梯度矩阵转化为灰度图像BW=

6、im2bw(grad,0.58);subplot(2,4,6);imshow(BW);%显示分割后的图像,即梯度图像title('log');BW1=edge(I,'canny');%调用canny函数subplot(2,4,7);imshow(BW1);%显示分割后的图像,即梯度图像title('Canny');mask1=[-1-2-1;000;121];%建立方向模板mask2=[-2-10;-101;012];mask3=[-101;-202;-101];mask4=[012;-101;-

7、2-10];mask5=[121;000;-1-2-1];mask6=[210;10-1;0-1-2];mask7=[10-1;20-2;10-1];mask8=[0-1-2;10-1;210];d1=imfilter(I,mask1);%计算8个领域的灰度变化d2=imfilter(I,mask2);d3=imfilter(I,mask3);d4=imfilter(I,mask4);d5=imfilter(I,mask5);d6=imfilter(I,mask6);d7=imfilter(I,m

8、ask7);d8=imfilter(I,mask8);dd=max(abs(d1),abs(d2));%取差值变化最大的元素组成灰度变化矩阵dd=max(dd,abs(d3));dd=max(dd,abs(d4));dd=max(dd,abs(d5));dd=max(dd,abs(d6));dd=max(dd,abs(d7));dd=max(dd,abs(d8));grad=mat2gray(dd);%将灰度变化矩阵转化为灰度图像BB=grad;FW=median(BB(:))/0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。