1. 图像配准的基本概念
Image registration 是指同一目标的两幅或者两幅以上的图像在空间位置的对准。图像配准技术的过程,称为图像匹配或者图像相关(image matching or image correlation)。图像配准可以定义成两相邻图像之间的空间变换和灰度变换,即先将图像像素的坐标X映射到一个新坐标系中的某一个坐标X’,再对其像素进行重采样。图像配准要求相邻图像之间有一部分在逻辑上是相同的,即相邻的图像有一部分反映了同一目标区域,这一点是实现图像配准的基本条件。如果确定了相邻图像代表同一场景目标的所有像素之间的关系,采用相应的处理算法即可以实现图像配准。
(1) 按配准模式分类,图像配准可以分为半自动配准和自动配准两种:
半自动配准:人机交互方式提取特征(如角点),然后利用计算机对图像进行特征匹配、变换和重采样。
自动配准:计算机自己完成。基于灰度或者是基于特征。
(2) 按配准的方法分类,图像配准可以分为基于灰度配准和基于特征配准。
基于灰度:精度高,缺点是对图像灰度变化敏感,尤其是非线性化的光照变化。计算复杂度高,对目标的旋转、变形以及遮挡比较敏感。
基于特征:特征提取和特征匹配。可提取的特征有点、线与区域。特征区域一般采用互相关来度量,但互相关度量对旋转处理比较困难,尤其是图像之间存在部分图像重叠的情况。最小二乘匹配算法和全局匹配的松弛算法能够取得比较理想的结果。
2. 空间变换
在图像配准中,首先根据参考图像与待配准图像相对应的特征点,求解两幅图像之间的变换参数;然后将待配准图像做相应的空间变换,使得两幅图像在同一空间坐标系内。图像变换就是寻找一种坐标变换的模型,建立从一副图像坐标到另一幅图像坐标之间的映射关系。在图像配准中,常用的有刚体变换、仿射变换、透视变换和非线性变换四种模型。
2.1 刚体变换(Rigid Transformation)
刚体变换变换前后两点间的距离依旧保持不变则被称为刚体变换。 刚体变换可分解为平移变换、旋转变换和反转(镜像)变换。
(1) 平移变换
http://blog.csdn.net/on2way/article/details/46801063
(2) 旋转变换
http://blog.csdn.net/on2way/article/details/46801063
(3) 反转变换
2.2 仿射变换(Affine Transformation)
简单来说,“仿射变换”就是:“线性变换”+“平移”。
https://www.zhihu.com/question/20666664
cv2中用到getAffineTransform函数。
2.3 透视变换(Perspective Transformation)
仿射变换保证物体形状的“平直性”和“平行性”。透视变换不能保证物体形状的“平行性”。仿射变换是透视变换的特殊形式。
透视变换需要的是一个3*3的矩阵,同理opencv在构造这个矩阵的时候还是采用一种点对应的关系来通过函数自己寻找的,因为我们自己很难计算出来。这个函数是M = cv2.getPerspectiveTransform(pts1,pts2),其中pts需要变换前后的4个点对应位置。
推导过程:http://blog.csdn.net/wodownload2/article/details/52084300
2.4 非线性变换(Nonlinear Transformation)
非线性变换就是把直线映射为曲线。它一般使用多项式函数,在二维空间内,通过一个非线性函数来表示非线性变换。
非线性变换比较适合于那些具有全局性形变的图像配准问题以及整体近似刚体但局部有形变的配准情况。
3. 重采样
经过空间变换后,最后通过灰度变换。灰度变换是对空间变换后的待配准图像值进行重新赋值,即重采样。
重采样的方法是利用待配准图像与参考图像最邻近的像素点的灰度,使用逼近的方法得到待配准图像的点阵的坐标点的灰度值,从而得到最终配准图像。一般采用的算法有双线性插值与最邻近像元法。