![](https://img-blog.csdnimg.cn/img_convert/7af355921ee7c058846b0a629064e4c9.png)
单应矩阵的定义是一个平面到另一个平面的映射
如上图所示,O1与O2时相机不同位姿下两个相机坐标系的原点,R和T分别表示两个坐标系之间的旋转和平移矩阵,平面p上的一点在两个坐标系下的的坐标为X1和X2,投影到像素坐标分别为x1和x2。设平面p的法向量为n,并且p到坐标系O1的距离为d,则p可以表示为
![](https://img-blog.csdnimg.cn/img_convert/a7ad21e540e2ffc4eb0b46ce6e7511d8.png)
将这个式子变换为
![](https://img-blog.csdnimg.cn/img_convert/0e6f53c9efedab6faec34fbc60c33ddb.png)
与此同时,X1与X2的关系可以表示为
![](https://img-blog.csdnimg.cn/img_convert/497e44081586cdf641735d0cf30ebbb0.png)
将上述两个式子合并表示成
![](https://img-blog.csdnimg.cn/img_convert/226175bdb3c5b864c326b715e496989d.png)
设两个相机坐标系的单应矩阵为H’,则H’可以表示为
![](https://img-blog.csdnimg.cn/img_convert/e329d16fb08659ea11f69131bbf2a0e4.png)
结合上述两个式子,则
![](https://img-blog.csdnimg.cn/img_convert/107b36cdd9c7ab8cf2612d793329a34a.png)
为了得到单应矩阵H',我们需要将X1和X2转换到像素坐标系中,设K为相机的内参数矩阵,则
![](https://img-blog.csdnimg.cn/img_convert/0295a4c0bf4b320e6f9f6a249c6a6c40.png)
将(7)代入(4),得
![](https://img-blog.csdnimg.cn/img_convert/aa31ebfeb52a199dfe56a1f8f8554d8c.png)
由于单应矩阵为3x3矩阵,具有尺度不变性,设尺度因子为α,则(8)的归一化表达式为
![](https://img-blog.csdnimg.cn/img_convert/2bde3cfe49f624526e275b491cf4e72e.png)
将(9)展开得
![](https://img-blog.csdnimg.cn/img_convert/1ce6166320069cd97def5a010391f052.png)
将(12)与(10)和(11)结合得
![](https://img-blog.csdnimg.cn/img_convert/304215713ad6dc2d0205e7a15b7a1420.png)
![](https://img-blog.csdnimg.cn/img_convert/061f1665adf683b0095ea6f7411153ed.png)
因为单应矩阵得自由度为8,因此只需要四对匹配点就可以求解相机的单应矩阵,然而由于图像中存在许多动态特征点和噪声点,求解的单应矩阵鲁棒性较差。