1. Homography 单应性概念
考虑 同一个平面(比如书皮)的两张图片,红点表示同一个物理坐标点在两张图片上的各自位置。在 CV 术语中,我们称之为对应点。
Homography 就是将一张图像上的点映射到另一张图像上对应点的3x3变换矩阵.
因为 Homography 是一个 3x3 的 矩阵,所以我们可以把它写成:
对于图中的一对儿对应点,位于图一的 (x1, y1) 和 位于图二的 (x2, y2). H 把二者映射关系建立起来:
对于所有的对应点,只要它们都位于同一个物理平面上,上述 Homography 就是成立的。换句话说,就是可以把图一中书皮上的所有点都映射到图二的书皮上,也就是看起来,图一中的书皮和图二中的书皮对齐了!
那么对于不在此平面上的点呢?这时再应用 Homography 就无法再对齐到对应点了。比如 上图中的 桌面,地面,橱柜面。对于这种图像中有多个平面的情况,我们就需要针对每一个平面使用其对应的Homography了。
2.计算
单应性(homography)变换用来描述物体在两个平面之间的转换关系,可以用于描述平移、翻转、缩放、旋转、仿射变换等。其是对应齐次坐标下的线性变换,可以通过矩阵表示:
其中,H为单应性变换矩阵,假设变换前坐标为(x,y),变换后坐标为(x',y'),上式表达为:
下面以翻转为例简单介绍其变换矩阵。假设图像的高和宽分别是h, w,那么:水平翻转变换的单应性矩阵是:
[[-1, 0, w],
[0, 1, 0],
[0, 0, 1]]
将矩阵带入变换公式,可以得到实际的变换为:x' = w-x, y' = y。
参考:https://blog.csdn.net/wxyjhv/article/details/110522841