基于一阶微分算子的图像分割算法|一阶微分算子

  摘 要: 本文通过分析作为一阶梯度算子的理论基础,得出可应用到实践图像分割中的一阶微分算子、并通过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浏览器用户请先下载安装 原版全文

推荐访问:算子 微分 算法 分割