我把之前的学习总结成一份文档:
《图像拼接综述》点击打开链接_图像拼接 综述与算法综述
之前一个则是对图像拼接的介绍,这部分是算法介绍
1 图像拼接中的算法
1.1 图像预处理
通过几何变形校正方法对采集到的图像进行校正后,可以使得相同景物在图像重叠区域所成的像有相同的形状和一致的空间相对位置。
1.2 图像特征检测
图像特征检测包括如下几种类型的特征检测:
1. 闭合区域
2. 轮廓和边缘区域
3. 角点
4. 线条
1.2.1 闭合区域
闭合区域特征是通过图像分割的方法来检测到的,分割的精度会大大地影响配准的结果。近年来,选择尺度不变区域特征引起了关注,虚拟圆的思想来计算图像之间平移和尺度的变化,虚拟圆是一个半径最大的圆,这个圆所涵括的背景区域不包含边缘点,一对虚拟圆就足够求出平移和尺度的变化量,它相对于图像边缘特征来说鲁棒性更强,但缺点是易受局部变化的影响
1.2.2 边缘和轮廓
边缘和轮廓——所谓边缘轮廓是指甚周围像素灰度有阶越变化或屋顶变化的那些像素的集合。在选取基准特征块时,人们首先会注意到含有一些主体信息、纹理相对复杂、易吸引眼球的物体,并把它作为参照物。边缘轮廓信息正好反映了图像不易受外界光照条件(对光照条件不敏感)的影响而产生剧烈变化的内在性质及像素灰度相对变化的特征,抗灰度和几何畸变能力强,稳定可靠。诸如有Canny算子、LoG(高斯一拉普拉斯)算子、Sobel检测算子。
1.2.2.1 轮廓边缘检测算子
边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
经典的边界提取技术大都基于微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。
1.2.2.2 Roberts边缘算子
Roberts算子是一种利用局部差分算子寻找边缘的算子。
Roberts算子边缘定位准,但是对噪声敏感。适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts算子来提取道路。
1.2.2.3 Sobel边缘算子
Sobel边缘算子中的每个像素都用这两个核做卷积。这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。
Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越大,产生的影响越小。
1.2.2.4 Prewitt边缘算子
Prewitt边缘算子的卷积和如图2.3所示,图像中的每个像素都用这两个核做卷积,取最大值作为输出,也产生一幅边缘幅度图像。
Prewitt算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用。但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。
拉普拉斯算子一种二阶边缘检测算子,它是一个线性的、移不变算子。是对二维函数进行运算的二阶导数算子,对一个连续函数f (x, y)它在图像中的位置(x, y)