图像处理——边缘检测(1)
2013-01-03 14:01
387 查看
一点点的学习中,有的时候也会迷茫,迷茫的是自己学习了不知道自己学习了什么,这个是确实总结的原因,于是将自己的所学所想,写成博客。主要从图像处理这边开始写起。
对于一幅图像,我们怎么认识它,比如我们看到一本书的照片,我们怎么根据照片就知道这个是一本书,看到一个人的照片,怎么知道这张照片是谁。
这个我们就是根据图像中的特征来判断。而这个特征我们可以是边缘,形状,纹理,颜色等等。而对于计算机来说,我们要做的事情就是将这些特征进行数字化表述,也就是特征提取。下面面临的问题就是如何特征提取。
特征提取主要有边缘提取,特征点提取,已经边缘提取。这边我们主要说的是边缘提取。
首先所以下边缘的定义,对于我们看一个物体而言,边缘就是图像中亮度突然发生变化的地方,而对于计算机来说,也就是像素值突然变化的地方,具体情形如下图:
那我们先对一位信号而言,我们找到这个突兀的点。
而图像属于二维信号,对于二维信号,我们寻找最大值点是为亮度梯度方向上达到最大值的图像点。看下面的图
对于2维上面的梯度而言的话,梯度就是一个向量。
对于计算机处理,是离散数据怎么计算
至于为什么不按照下面的来算,是不是考虑到这样由于边缘点的突兀太大,导致计算的结果不正确,还是担心噪声的影响,不是很清楚
另外边缘是对噪声敏感 ,平均降低了噪声 ,平滑与边缘集合(边缘检测包括对图像的预处理),至于平均降低了噪声,这个可以理解,但是平均也降低了边缘,这个有什么影响呢。
下面我们就可以得到我们的Prewitt算子
Sobel算子
Roberts算子
以上是通过一阶导数极大值点求便一点
下面是通过二阶导数过零点来求解。
对于二阶导数过零点,一维信号这个可以理解,对于二维信号来说,采用拉普拉斯算子,在x,y方向上都是0,则和也是0.
根据差分,我们可以得到
则在x方向上的模板就
于是可以得到模板
便于表示采用模板
由于二次求导数,对噪声非常敏感,则配合滤波器同时使用,于是就产生了LoG算子
首先用Gauss函数对图像进行平滑,抑制噪声 ,然后对经过平滑的图像使用Laplacian算子 ,利用卷积的性质LoG算子等效于: Gaussian平滑 + Laplacian二阶微分 。
上面的ppt图片大部分是采用的中科院自动化所的ppt。
对于边缘检测来说,其实远不至于上面这种样子,对于像素值有突变的情况下很容易检测,但是如果边缘是渐变的,也就是亮度变化不是那么明显的时候,这个是对于采用一阶导数求边缘检测来说,设定阈值就是一件难事。我估计这也就是用LoG算子多的一个原因。
下面写一写Canny算子。
对于图像处理也是半路出家,很多地方不是很清楚明澈,先把学到的东西写写,也希望有人指点一二。
对于一幅图像,我们怎么认识它,比如我们看到一本书的照片,我们怎么根据照片就知道这个是一本书,看到一个人的照片,怎么知道这张照片是谁。
这个我们就是根据图像中的特征来判断。而这个特征我们可以是边缘,形状,纹理,颜色等等。而对于计算机来说,我们要做的事情就是将这些特征进行数字化表述,也就是特征提取。下面面临的问题就是如何特征提取。
特征提取主要有边缘提取,特征点提取,已经边缘提取。这边我们主要说的是边缘提取。
首先所以下边缘的定义,对于我们看一个物体而言,边缘就是图像中亮度突然发生变化的地方,而对于计算机来说,也就是像素值突然变化的地方,具体情形如下图:
那我们先对一位信号而言,我们找到这个突兀的点。
而图像属于二维信号,对于二维信号,我们寻找最大值点是为亮度梯度方向上达到最大值的图像点。看下面的图
对于2维上面的梯度而言的话,梯度就是一个向量。
对于计算机处理,是离散数据怎么计算
至于为什么不按照下面的来算,是不是考虑到这样由于边缘点的突兀太大,导致计算的结果不正确,还是担心噪声的影响,不是很清楚
另外边缘是对噪声敏感 ,平均降低了噪声 ,平滑与边缘集合(边缘检测包括对图像的预处理),至于平均降低了噪声,这个可以理解,但是平均也降低了边缘,这个有什么影响呢。
下面我们就可以得到我们的Prewitt算子
Sobel算子
Roberts算子
以上是通过一阶导数极大值点求便一点
下面是通过二阶导数过零点来求解。
对于二阶导数过零点,一维信号这个可以理解,对于二维信号来说,采用拉普拉斯算子,在x,y方向上都是0,则和也是0.
根据差分,我们可以得到
则在x方向上的模板就
1 | -2 | 1 |
0 | 1 | 0 |
1 | -4 | 1 |
0 | 1 | 0 |
0 | -1 | 0 |
-1 | 4 | -1 |
0 | -1 | 0 |
首先用Gauss函数对图像进行平滑,抑制噪声 ,然后对经过平滑的图像使用Laplacian算子 ,利用卷积的性质LoG算子等效于: Gaussian平滑 + Laplacian二阶微分 。
上面的ppt图片大部分是采用的中科院自动化所的ppt。
对于边缘检测来说,其实远不至于上面这种样子,对于像素值有突变的情况下很容易检测,但是如果边缘是渐变的,也就是亮度变化不是那么明显的时候,这个是对于采用一阶导数求边缘检测来说,设定阈值就是一件难事。我估计这也就是用LoG算子多的一个原因。
下面写一写Canny算子。
对于图像处理也是半路出家,很多地方不是很清楚明澈,先把学到的东西写写,也希望有人指点一二。
相关文章推荐
- PyOpenCL图像处理:RGB图像边缘检测
- 图像处理--------应用卷积– 轧花与边缘检测
- 【图像处理】 常用边缘检测算法对比分析
- C#图像处理之边缘检测(Smoothed)的方法
- 图像处理常用边缘检测算子总结
- 图像处理常用边缘检测算子
- openCV学习笔记(二)------图像平滑处理和边缘检测
- 【MATLAB图像处理3】 canny边缘检测 (附源码)
- FPGA设计——图像处理(Sobel边缘检测)
- 尿沉渣图像处理——有形成分边缘检测
- 图像处理--------应用卷积– 轧花与边缘检测
- android图像边缘检测 锐化处理有一个函数编译不过
- 【MATLAB图像处理3】 canny边缘检测 (附源码)
- [图像处理] Sobel边缘检测算法
- 图像边缘检测与边缘增强处理——(Roberts、prewitt、sobel)
- 图像处理--------应用卷积– 轧花与边缘检测
- 数字图像处理5--边缘检测探究(内容较多,持续更新)
- 图像处理常用边缘检测算子总结
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
- 数字图像处理-图像的边缘检测