常用传统图像处理方法总结

1. 边缘提取

1.1 微分算子检测边缘
一阶算子:一阶导数的极大值点
二阶算子:二阶导数的过零点
一阶算子: Prewitt算子 , sobel算子(给四邻域更大的权重)
二阶算子代表:拉普拉斯算子
但拉普拉斯算子二阶导对噪声非常敏感,通常配合滤波器同时使用(高斯拉普拉斯:形状如同倒扣的帽子)。

1.2 Canny边缘检测器
最常用的边缘检测方法。能够噪声抑制,边缘增强,边缘定位。
算法分为三步:计算图像梯度,梯度非极大值抑制(NMS),双阈值提取边缘点
过程分别是:

  • 使用高斯平滑进行降噪
  • 寻找图像中的亮度梯度。使用4个方向的mask,分别是水平、垂直、两个对角线,检测边缘。将卷积结果保存起来,在每个点都保留最大梯度值和方向。
  • 双阈值提取边缘。先使用大的阈值,检测出比较确信的边缘点。然后沿着前面得出的梯度方向进行跟踪,在跟踪时使用较小的阈值,直到回到最初的起点。由此得到一个二值图像,每个点表示是否为边缘点。

2. 特征点提取

角点即局部窗口沿着各个方向移动,均产生明显变化的点。
2.1 Harris角点检测
基本思想:
平坦区域:沿着任意方向移动,都无灰度变化。
边缘:沿着边缘方向移动,无灰度变化。
角点:任意方向移动,明显灰度变化。

数学表达: E ( u , v ) = ∑ x , y w ( x , y ) [ I ( x + t , y + t ) − I ( x , y ) ] 2 E(u, v) = \sum_{x,y}w(x,y)[I(x+t, y+t) - I(x,y)]^2 E(u,v)=x,yw(x,y)[I(x+t,y+t)I(x,y)]2
w w w为窗口函数, I I I为图像灰度。
经过推导,得到一个实对称矩阵 M M M,
M = ∑ x , y w ( x , y ) ( I x 2 I x I y I x I y I y 2 ) M=\sum_{x,y}w(x,y)(\begin{matrix} I_x^2 &I_xI_y\\ I_xI_y & I_y^2 \end{matrix}) M=x,yw(x,y)(Ix2IxIyIxIyIy2)
对实对称矩阵 M M M进行特征值分析, λ m a x , λ m i n \lambda_{max}, \lambda_{min} λmax,λmin是其特征值,当,
λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 都较大且数值相当,图像灰度窗口在所有所有方向移动都有明显变化。是角点。其中一个特征值远大于另一个,是边缘。都比较小,是平坦区域。

你可能感兴趣的:(CV)