《视觉slam十四讲》第五讲课后习题_(∠ゝз:)_

1.寻找一部相机标定它的内参。

可以利用ROS的标定方法,这里参考博客:https://blog.csdn.net/heyijia0327/article/details/43538695

 

2.叙述相机内参的物理意义。如果一部相机的分辨率变为原来的两倍,而其他地方不发生变化,它的内参会如何变化?

内参矩阵中f_{x},f_{y}分别表示相机沿x,y方向上的焦距,单位为像素。c_{x},c_{y}为相机相对于成像平面的主点坐标。在内参转换前还有去畸变步骤,所包含的畸变参数有:径向畸变系数k_{1},k_{2},k_{3},切向畸变系数p_{1},p_{2}

当一部相机分辨率发生变化,那么去畸变的预处理参数应该不会受到影响,反而是其内参矩阵中的参数会受到影响。当相机分辨率变为原来两倍时,根据相机投影公式:

\left\{\begin{matrix} u=f_{x}\frac{X}{Z}+c_{x}\\ v=f_{y}\frac{Y}{Z}+c_{y} \end{matrix}\right.

u的单位为像素,其物理意义为世界坐标系下的点在像素平面的投影,当然分辨率增加一倍,u,v也就变为原来的两倍。为了保证恒等,则等式右边也得乘以二,然而三维世界坐标并未变化,所以焦距的值和主点的坐标值也会增加一倍。

 

3.搜索特殊相机(鱼眼相机或全景相机)的标定方法,它们与普通针孔相机模型的差别在哪?

鱼眼相机模型和普通针孔相机模型类似,但是鱼眼相机的畸变模型和普通相机不一样,最主要的是在径向畸变上多一个高阶系数:\vec{\theta }_{d}=\theta(1+k_{1}r^{2}+k_{2}r^{4}+k_{3}r^{6}+k_{4}r^{8})。内参矩阵还是一样。

全景相机模型则很不一样。

《视觉slam十四讲》第五讲课后习题_(∠ゝз:)__第1张图片

相较于普通相机的像素平面,全景相机的是一个像素球面。其标定参数因相机而定,但是大部分的相机标定还是分为去畸变和像素面投影两步。

 

4.调研全局快门相机和卷帘快门相机的异同,他们在slam中有何优缺点?

全局相机是一次成像,所有像素停止曝光,容易出噪点。相比较而言卷帘快门是逐行成像,大多数CMOS传感器采用这一快门。但是对于高速移动的物体来说,卷帘快门容易出现扭曲现象。在slam中,低速情况下两者区分不大,但是全局相机目前是一种趋势适用于各种场合。

 

5.RGB-D相机是如何标定的?

RGB-D相机和普通相机很类似,但是RGB-D相机多了一个红外相机参数。所以标定时需要RGB相机内参、红外深度相机内参以及二者之间的转换关系。不过标定时得要求标定板和RGB-D相机不要移动。具体可以参照:https://blog.csdn.net/Siyuada/article/details/78981555

 

6.除了示例程序演示的遍历图像方式,你还能举出哪些?

1.一个一个点读取的方法:image.at<>(i,j);

2.指针遍历:Mat图像在内存中连续排布可以用 image.Ptr<>()指针遍历;

3.迭代器遍历:利用cv里的iterator进行遍历。

第二种用的比较多。

 

7.阅读OpenCV官方教程,学习它基本使用方法。

参考:http://www.opencv.org.cn/forum.php?mod=viewthread&tid=33549

里面有一个OpenCV入门pdf,可以参考。

你可能感兴趣的:(习题)