我拍摄了一张距离地面 2 米高的图像作为原始图像,我想模拟另一张距离地面 50 厘米的图像,例如模拟图像。
我的相机焦距是 3.7 毫米(f = 3.7)。
我从平面单应性中使用过:H = k'*(eye(3) - ((t*n')/d))*inv(k)对于 MATLAB 中原始图像中的每个平面,在相机坐标系中:
- x轴垂直于地面右侧的建筑物,
- y轴平行于地面,
- 因此z轴垂直于地面向上。
原点是原始图像中的相机位置,k是 3x3 相机校准矩阵:
[f 0 0;
0 f 0;
0 0 1]
t是传递矩阵[0 0 -1.5],n是平面的法向量,d是平面到原点的距离,eye(3)是相机旋转。
例如,地面的平面有n=[0 0 1]和d = 2,是真的吗?
请帮助我在 MATLAB 中实现其他平面(天空、建筑物)。
原图:

模拟图像:
