我试图根据物理鱼眼摄像机(180度FOV)的数据实现虚拟Pan-Tilt-Zoom(PTZ)摄像机。
在我看来,我必须意识到下一个序列。
- 在鱼眼传感器矩阵的坐标中获取鱼眼圆心的坐标。
- 在同一坐标系中获取鱼眼圆的半径。
- 生成球面方程,其中心和半径与平面相机传感器上的平面鱼眼图像相同。
- 投影从平面图像到上半球的所有彩色点。
- 在X Y平面和X Z平面中选择角度来描述虚拟PTZ的视图方向。
- 选择视角,并在虚拟PTZ视图矢量周围用圆圈标记,该矢量将绘制在半球表面上。
- 生成平面方程,该方程与半球的交点将是围绕视图方向的圆。
- 使用从半球边缘到半球中心的方向投影,将所有彩色点从圆圈移动到围绕视线方向的圆平面。
- 使用插值(在cv :: remap中实现)绘制投影圆内所有未上漆的点。
醇>
在我看来,最重要的一步是将彩色点从平面图像上升到三维半球。
我的问题是:
根据半球方程将Z坐标设置为平面图像的所有彩色点,将点从图像平面上升到半球表面是否正确?