基于一阶微分算子的图像分割算法|一阶微分算子
时间:2019-02-08 03:23:19 来源:雅意学习网 本文已影响 人
摘 要: 本文通过分析作为一阶梯度算子的理论基础,得出可应用到实践图像分割中的一阶微分算子、并通过VC++6.0加以实现。分析图像分割结果,并对Robert算子,Sobel算子和Prewitt边缘检测算子进行了利弊分析。
关键词: 一阶微分算子 Robert算子 Sobel算子 Prewitt边缘检测算子
1.一阶微分算子理论基础
1.1Roberts边缘检测算子
Robert边缘检测算子模板是指:对角线方向像素做差。图像边缘点计算准确,图像中的噪声对该算子的边缘干扰大。Robert边缘检测算子通过局部差分算子计算边缘点。其计算公式如下[1]:
G[i,j]=|f[i,j]-f[i+1,j+1]|+|f[i+1,j]-f[i,j+1]|(1)
G[i,j]=[(f[i,j]-f[i+1,j+1])+(f[i+1,j]-f[i,j+1])](2)
其中G[i,j]表示边缘检测后坐标为(i,j)点的像素值,f[i,j]表示边缘检测前坐标为(i,j)点的像素值。Robert算子模板如下:
0 1-1 0100 -1
1.2Sobel边缘检测算子
离散信号与对应权系数求和过程称为卷积。权系数矩阵一般为奇数,大小与使用区域相同,此矩阵也称为卷积核,使用区域中每一个像素与卷积核中对应系数相乘,乘积相加得出中心像素的新像素值。Sobel边缘检测算子如下:
ΔG=f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1)-f(i-1,j-1)-2f(i,j-1)-f(i+1,j-1)
ΔG=f(i-1,j-1)+2f(i-1,j)+f(i-1,j+1)-f(i+1,j-1)-2f(i+1,j)-f(i+1,j+1)
得出两个权系数矩阵模板如下:
-1 -2 -1 0 0 0 1 2 310-1-20-21 0-1
用这两个矩阵做卷积,左侧矩阵对水平边缘敏感,右侧矩阵对垂直边缘敏感。得到两个卷积值,两个值中最大值作为中心点的边缘幅度值。Sobel算子对于像素领域内各位置坐了加权,表示不同位置对该像素边缘幅度值的影响大小,所以边缘检测效果更好。
1.3Prewitt边缘检测算子
Prewitt边缘检测算子的构造方法与Sobel边缘检测算子相似,对于卷积核(系数矩阵)进行了改进,对于卷积核中德每一系数,进行了权值平均化,表示区域内位置的影响因子相似,其矩阵模板如下:
-1 -1 -1 0 0 0 1 1 1 10-110-110-1
对每一个像素点利用这两个卷积核进行卷积运算,取最大值作为中心位置像素的边缘幅度值输出。
2.实验结果
本文的实验环境为:Intel(R)core(TM)2DuoCPU;实验工具为:VC++6.0。图1,图2,图3分别为Robert算子,Sobel算子和Prewitt算子的实验对比图。
实现步骤[2]:
(1)获得原始图像指针。
(2)开辟大小与原始图像相同的新数据区,初始化为全白。循环遍历每个像素,用Roberts、Sobel、prewitt边缘检测算子模板计算该像素的边缘幅度值。
(3)将新数据区中的幅度数据复制到原图数据区。
3.总结与展望
本文通过分析一阶微分算子理论基础,实现了其在图像边缘检测上的应用,可见一阶微分算子对一般的光学图像的边缘检测效果是好的,但是一阶导数的边缘检测器,如果所求的一阶导数高于某一阈值,则确定该点为边缘点。这样做会导致检测的边缘点太多,而且对噪声点会很敏感,我们会在以后的工作中通过实验,寻找更为理想的算法,克服一阶微分算子的缺点。
参考文献:
[1]段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[M].光学技术,2005,(03):95-99.
[2]求实科技.VisualC++数字图像处理典型算法及实现.北京:人民邮电出版社,2006.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文