资源描述:
《北航图像处理作业报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三次图像处理作业报告摘要本文简要阐述了算子在边缘提取方面的应用以及原理。并对粗结果进行了线性变换,选定一定阈值加强了图像边缘提取后的显示效果。并分别实现了Sobel算子,Prewitt算子,Laplace算子的边缘提取算法。关键词:边缘提取,Roberts算子,kirsch算子,Sobel算子,Prewitt算子,Laplace算子,一.任务说明用Roberts算子,kirsch算子,Sobel算子,Prewitt算子,Laplace算子分别执行边缘提取算法。以lena.bmp为数据源,执行完毕后进行比较。二.算法原理2.1背景意义边缘是图像的最基本特征之一,可以表
2、达物体的特征,并且对于图像的变化不敏感(何变换,灰度变换,光照方向变换,还可以为物体检测提供有用的信息,是一种典型的图像预处理过程。边缘从本质上说是灰度构成的曲面上的陡峭区域。而突出边缘也就是锐化图像的过程,相当于图像被微分,而微分的作用是求图像的变化率。边缘提取的过程也就是这个微分的过程。2.2基本算法直接对整个图像进行微分分析既不可行也没有必要因此,在这里提出算子的概念对图像求局部的微分,而算子取的不同对图像的影响也不一样。与算子的卷积相当于是将一个信号转化为另一个信号,在这里,卷积的定义是,原图像的每一个点与一个矩阵相乘将结果分配给它周围的点。2.2.1Sobe
3、l算子Sobel算子是一个3*3的矩阵,强烈描述了某一个方向上灰度的变化,由于局限于3*3的规模,实际上能描述的方向一共只有↑↓,←→,↖↘,↙↗4个,这里以距离用了↑↓,←→作为边缘提取算子,以他们平方和的开方为输出值。2.2.2Prewitt算子Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,平滑噪声。2.2.3Laplace算子取其Laplace算子在+-1的范围内二阶导数,不光可以取边缘,与原图叠加后还有锐化过程。2.2.4kirsch算子它采用8个模板对图像上的每一个像素点进行卷积求
4、导数,这8个模板代表8个方向,对图像上的8个特定边缘方向作出最大响应,运算中取最大值作为图像的边缘输出intntemplate[8][9]={{5,5,5,-3,0,-3,-3,-3,-3}, {-3,5,5,-3,0,5,-3,-3,-3}, {-3,-3,5,-3,0,5,-3,-3,5}, {-3,-3,-3,-3,0,5,-3,5,5}, {-3,-3,-3,-3,0,-3,5,5,5}, {-3,-3,-3,5,0,-3,5,5,-3}, {5,-3,-3,5,0,-3,5,-3,-3}, {5,5,-3,5,0,-3,-3,-3,-3}};/
5、/3×3用这个8个模版来计算每个边缘方向的最大响应值作为边缘特征值-边缘强度。2.3扩展算法由于产生的导数值往往会有0~255之外的点,并且有一些无效点可以过滤掉,因而在过滤之后使用线性变换映射到0~255区间内方便BMP显示。三.算法实现3.1使用语言及编译环境使用语言:C语言操作系统:win8编译环境:VS20133.2功能函数3.2.1bit.h第一次作业关于BMP的读写函数以及包括图像线性变换在内的函数。3.2.2margin.h各种边缘提取的函数。#ifndefINCLUDE_MARGIN_H#defineINCLUDE_MARGIN_H#include"b
6、it.h"externconstintSOBEL_h[3][3];externconstintSOBEL_v[3][3];externconstintLAPLACE[3][3];externconstintP_h[3][3];externconstintP_v[3][3];externintKirsch[8][3][3];//各个算子externvoidsobel_margin(BMP*src,BMP*tgt);externvoidlaplace_margin(BMP*src,BMP*tgt);externvoidprewitt_margin(BMP*src,BMP*
7、tgt);externvoidkirsch_margin(BMP*src,BMP*tgt);//各个算子函数externvoidkirsch_init();externvoidinner_kirsch_margin(BMP*src,BMP*tgt,intnum);#endif四.实验原始图像SobelLaplacePrewittKirsch5、结果分析与比较1.与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。但对于噪声的处理则没有Prewitt算子优秀。两个垂直方向的平方和感受到了所有方向的变