图像边缘检测Matlab程序-使用线检测模板.doc

图像边缘检测Matlab程序-使用线检测模板.doc

ID:57319679

大小:50.50 KB

页数:2页

时间:2020-08-11

图像边缘检测Matlab程序-使用线检测模板.doc_第1页
图像边缘检测Matlab程序-使用线检测模板.doc_第2页
资源描述:

《图像边缘检测Matlab程序-使用线检测模板.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、检测图像中的边缘利用方向梯度模板的基本思想,可以设计检测不同方向线的方向模板。对于单像素宽度线,可通过阈值检测其梯度来完成线的检测,并确定其走向。线检测模板如下所示:计算,k=1,2,3,4.其中是原图像中以(i,j)为中心的一个3×3小矩阵,“*”是对应元素相乘并相加。如果原图像中(i,j)像素不为0,且,对所有的,则可以说该点的方向与方向一致。%Matlab程序-检测图像中的边缘%使用线检测模板clcclearA=imread('22.png');%读入彩色图像,图像存放在Matlab工作路径下B=rgb2gray(A);%将彩色图像转为灰度图像C=i

2、m2bw(B);%将灰度图像转为2值图像subplot(1,2,1);%子图imshow(C);%绘图[m,n]=size(C);W=zeros(3,3,4);W(:,:,1)=[-1-1-1;222;-1-1-1];%竖直方向模板W(:,:,2)=[-1-12;-12-1;2-1-1];%45度方向模板W(:,:,3)=[-12-1;-12-1;-12-1];%水平方向模板W(:,:,4)=[2-1-1;-12-1;-1-12];%-45度方向模板D=zeros(m,n);%产生全0矩阵D,保存检测结果;如果D(i,j)为0,则该点不是边缘;为1则是竖直

3、方向边缘;为2则是45度方向边缘;为3则是水平方向边缘;为4则是-45度方向边缘R=zeros(4,1);M=zeros(3,3);fori=2:m-1forj=2:n-1if(C(i,j))M(:,:)=C(i-1:i+1,j-1:j+1);%取出以i,j为中心,大小为3*3的子矩阵fork=1:4R(k)=sum(sum(W(:,:,k).*M));%与方向模板做卷积运算end[R,Ri]=sort(R);%排序if(R(end)>R(end-1))%如果最大值比次大值还大,则认为该点的方向是最大值所对应的模板方向D(i,j)=Ri(end);ende

4、ndendend%%由检测结果D构建边缘图像EE=zeros(m,n);fori=2:m-1forj=2:n-1if(D(i,j)>0)E(i-1:i+1,j-1:j+1)=W(:,:,D(i,j))+1;endendendsubplot(1,2,2);imshow(logical(E));%绘边缘图像结果示例:

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

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

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