资源简介
本压缩包包括一个亚像素边缘检测源代码,以及一个测试图片,从亚像素的角度去解决边缘检测问题,并且与Canny算子做比较,效果显著!
代码片段和文件信息
clear
clc
II=imread(‘Sample_BW.jpg‘);
figure(1)imshow(II)
I=double(II);
[mn]=size(I);
%用Canny算子进行像素边缘检测,判别阈值为0.1
ff=edge(I‘canny‘0.1);
figure(2)imshow(ff)
f=double(ff);
%求原函数梯度函数
R=zeros(mn);
for xi=2:1:m-1
for yi=2:1:n-1
R(xiyi)=abs(I(xi+1yi+1)+2*I(xiyi+1)+I(xi-1yi+1)-I(xi-1yi-1)-2*I(xiyi-1)-I(xi+1yi-1))+abs(I(xi-1yi-1)+2*I(xi-1yi)+I(xi-1yi+1)-I(xi+1yi+1)-2*I(xi+1yi)-I(xi+1yi-1));
end
end
%开始求坐标
nn=1;
W=zeros(mn);
for x=2:1:m-1
for y=2:1:n-1
if f(xy)==0
W(xy)=0;
else
i=[R(x-1y)R(xy)R(x+1y)];
j=[R(xy-1)R(xy)R(xy+1)];
if (i(2)>i(1))&(i(2)>i(3))&(j(2)>j(1))&(j(2)>j(3))
Xe=x+(i(1)-i(3))/((i(1)-2*i(2)+i(3))+eps);%求亚像素边缘坐标[XeYe]
Ye=y+(j(1)-j(3))/((j(1)-2*j(2)+j(3))+eps);
if (Xe0)&(Ye0)
Xe1(nn)=Xe; %得到的亚像素边缘点
Ye1(nn)=Ye;
Xe2(nn)=round(Xe); %得到的逼近的边缘点
Ye2(nn)=round(Ye);
W(Xe2(nn)Ye2(nn))=1; %把检测到的边缘点直观的表示出来
nn=nn+1; %设置循环,用数组的形势表示Xe2,Ye2,方便后期查看处理亚像素边缘点坐标
end
end
end
end
end
figure(3)imshow(W)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1474 2009-05-18 09:24 yaxiangsu.m
文件 7378 2005-11-22 10:20 Sample_BW.jpg
----------- --------- ---------- ----- ----
8852 2
- 上一篇:一个自动收发的RS485电路图
- 下一篇:基于WEB的网上书店设计
相关资源
- bp神经网络源代码,可直接运行
- 仿知乎界面小程序源代码
- 贪吃蛇源代码.fla
- dotnet 写字板 实验 源代码 不好请要不
- 图像二维小波变换的实现源代码
- 八三编码器设计 VHDL代码 简单,包附
- linux应用层的华容道游戏源代码
- 网上拍卖系统完整源代码
- CSMA/CD等动画演示加源代码
- silicon lab公司的收音IC SI47XX全套开发工
- 合同管理系统的源代码(附数据库)
- 用VC 编写的仿QQ聊天室程序源代码
- STM32F103 串口程序(完整版)
- VPC3_DPV1源代码,Profibus
- PB做的托盘程序(最小化后在左下角显
- 透明加密源码及说明
- 排队机叫号 源代码
- 五子棋C 源代码
- CAD LISP24个源代码
- 二叉树基本操作源代码
- 推箱子及人工智能寻路C 源代码
- opengl轮廓字体源代码
- 冈萨雷斯 数字图像处理 源代码(m文
- 直流伺服电机电路原理图(内附单片
- 哈哈冒险岛登入器源代码
- midi电子琴简单设计(附源代码).ra
- PESQ C源代码
- 画图程序MFC/VC/VC CRectTracker 串行化
- 莱卡 全站仪数据格式转换程序,有源
- 基于OpenCV的数字识别468815
评论
共有 条评论