prewitt算子

Halcon编程笔记-(2) 边缘检测-Sobel 算子

。_饼干妹妹 提交于 2020-02-02 04:31:28
边缘检测简介 边缘 就是图像上灰度或者颜色变化很大的一系列连续的点。或者说是图像上不同的区域之间的交界处。 图像中边缘的特点就要从这两方向去分析:方向和幅度。在沿着边缘走向的像素值变化比较平缓;而沿着垂直于边缘的走向,像素值则变化得比较大。 边缘检测方法 我们要研究 边缘检测的方法 ,就要从它的特点入手。是否是边缘可以说是来判断一个点在某个方向上的变化是否剧烈。那么我们怎么用数学的方式去描述这种变化特点呢。在数学上,我们一般使用导数或者微分。 导数 : 这个很简单,就是连续函数上某点斜率,导数越大表示变化率越大,变化率越大的地方就越是“边缘”。但是,但斜率接近90度的时候,他的斜率就无限大了,在计算机计算的时候就很麻烦了,首先占用空间大,然后就是当斜率过大的时候便无法用常用的数据类型表示了。所以我们一般不用导数来表示 微分 : 这个概念需要在大学的时候结束,但也很简单。连续函数上x变化了dx,导致y变化了dy,dy/dx 越大,就可以表示变化率很大了。dx趋向于无限小,dy/dx 就是x在该函数上的导数,所以dy/dx就可以来近似导数,我们成这种方式叫做微分。那这种方式有什么优势呢?当我们固定dx,比较不同点的变化率时只用比较dy就好了,所以计算整幅图像的微分,dy的大小就是边缘的强弱了,我们也称之为梯度。所以我们一般会采用微分的方式。 算子 是一个函数空间到另一个函数空间上的映射

边缘检测之Sobel检测算子

廉价感情. 提交于 2020-02-02 02:21:21
在讨论边缘算子之前,首先给出一些术语的定义: (1)边缘:灰度或结构等信息的突变处,边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。 (2)边缘点:图像中具有坐标[x,y],且处在强度显著变化的位置上的点。 (3)边缘段:对应于边缘点坐标[x,y]及其方位 ,边缘的方位可能是梯度角。 二、Sobel算子的基本原理 Sobel算子是一阶导数的边缘检测算子,在算法实现过程中,通过3×3模板作为核与图像中的每个像素点做卷积和运算 ,然后选取合适的阈值以提取边缘。 一个特殊卷积所实现的功能是由卷积核的形式决定的。这个核本质上是一个大小固定、由数值参数构成的数组,数组的参考点(anchor point)通常位于数组的中心。数组的大小成为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非0部分组成。对图像的卷积,首先将核的参考点定位到图像的第一个像素点,核的其余元素覆盖图像中其相对应的局部像素点。对于每一个核点,我们可以得到这个点的核值以及图像中相应图像点的值,将这些值相乘并求和,并将这个结果放在与输入图像参考点所相对应的位置。通过在整个图像上扫描卷积核,对图像的每个点重复此操作。 索贝尔算子 (Sobel operator)主要用作边缘检测,在技术上,它是一阶离散性差分算子,用来运算图像亮度函数的灰度值近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量