Halcon学习(八)边缘检测(一)

http://blog.sina.com.cn/s/blog_61cc743001017nzn.html

边缘检测的定义 :使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。

边缘 是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。边缘的锐利程度由图像灰度的梯度决定。梯度是指灰度变化的最快的方向和数量。

常见的边缘点有三种 :第一种是阶梯形边缘 (Step-edge), 即从一个灰度到比它高好多的另一个灰度。第二种是屋顶型边缘 (Roof-edge), 它的灰度是慢慢增加到一定程度然后慢慢减小。还有一种是线性边缘 (Line-edge), 它的灰度从一级别跳到另一个灰度级别之后然后回来。

边缘检测的方法主要有以下几种:

第一种检测梯度的最大值。由于边缘发生在图像灰度值变化比较大的地方 ,对应连续情形就是说是函数梯度较大的地方,所以研究比较好的求导算子就成为一种思路。 Roberts 算子、 Prewitt 算子和 Sobel 算子等就是比较简单而常用的例子。还有一种比较直观的方法就是利用当前像素邻域中的一些像素值拟合一个曲面 , 然后求这个连续曲面在当前像素处梯度。从统计角度来说 , 我们可以通过回归分析得到一个曲面 , 然后也可以做类似的处理。

第二种是检测二阶导数的零交叉点。这是因为缘处的梯度取得最大值 ( 正的或者负的 ), 也就是灰度图像的拐点是边缘。从分析学上我们知道 , 拐点处函数的二阶导数是 0 

第三种,统计型方法。比如说利用假设检验来检测边缘中利用对二阶零交叉点的统计分析得到了图像中各个像素是边缘的概率,并进而得到边缘检测的方案。


1.sobel_amp(Image : EdgeAmplitude : FilterType, Size : )

 

根据图像的一次导数计算图像的边缘

程序如下:

 

read_image (Image, 'fabrik')

sobel_amp (Image, EdgeAmplitude, 'sum_abs', 3)

threshold (EdgeAmplitude, Region, 10, 255)

skeleton (Region, Skeleton)

dev_display (Image)

dev_set_color ('white')

dev_display (Skeleton)


Image

Halcon学习(八)边缘检测(一)

EdgeAmplitude

Halcon学习(八)边缘检测(一)

Region

Halcon学习(八)边缘检测(一)

Skeleton

Halcon学习(八)边缘检测(一)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值