好文档 - 专业文书写作范文服务资料分享网站

基于Sobel算子的数字图像边缘检测 

天下 分享 时间: 加入收藏 我要投稿 点赞

.

答:Sobel算子核心代码如下:

其中

m_nWork1=x7+x8+x8-x2-x2-x3; m_nWork2=x3+x6+x6-x4-x4-x7; if ( m_nWork1

m_nWork1=m_nWork2; m_nWork2=m_nWork1+x9-x1;

是卷积求梯度的核心代码,根据Prewitt的卷积阵,将此处改为以下代码即可。 m_nWork1=x7+x8-x2-x3; m_nWork2=x3+x6-x4-x7; if ( m_nWork1

m_nWork1=m_nWork2; m_nWork2=m_nWork1+x9-x1;

全部代码见附程序Sobel.c和Prewitt.c

七、参考资料

[1] 陈宇云. 灰度图像的边缘检测研究[D]. 电子科技大学硕士学位论文.2009 [2] 卢洋,张旭秀.图像边缘检测算法的对比分析与研究[J]. 太原科技.

.

.

2009,(3):17-18

[3] 韩磊 .MATLAB 在数字图象处理中的应用[J]. 电脑知识与技术. 2008,1(1):29-31

附录

1. transfer_1.m 将彩色图转化为灰度图的小程序,在迁移到CCS平台处理时用到,Matlab

平台仿真的程序中内嵌了这几行代码。

2. Sobel_1.m 传统Sobel算子代码+手动阈值调整功能 3. Sobel_2.m 八方向Sobel

4. Sobel_3.m 将水平和垂直算子单独考虑与都考虑时的对比 5. Prewitt_1.m 传统Prewitt

6. Sobel_prewitt.m Sobel和Prewitt的对比+考虑高斯白噪声后的情况

.

3cv641vjbc565jb3urou8mpoj7ocb000zkd
领取福利

微信扫码领取福利

微信扫码分享