CameraCalibration 是Github上的一个开源相机标定的工程,今天在Centos下尝试一下。
它依赖于OpenCV和Pangolin两个库。前者可以yum install 安装,后者在Github下压缩包或git clone。
此外,还有一些依赖,GLEW可以通过yum install的方式安装GLUT的替代品Freeglut搞定。
GLEW要下源码包build,instal。
Eigen3要下源码包build,install。
关于build,一般下的包中的都有CMakeLists.txt,通过cmake . (不要漏掉后面的点),可以生成Makefile,然后make,make install。
最终build出了CameraCalibration二进制文件。但是暂时没有左右相机的sample图像序列,Centos也是不带界面的。Google了“camera calibration chessboard sample sequence”的和“相机标定棋盘格图像序列”的图片和帖子,都没有找到合适的图像序列,可能需要自己拍摄了。
先记录这些。
注意:
在CentOS 6.4上用yum install了opencv 和 opencv-devel,但是在编CameraCalibration时,总是报错,说opencv中很多函数没有定义。于是rpm卸载先前yum安装的opencv 和 opencv-devel,同时删除 "whereis opencv" 给出的opencv目录。然后下载最新的opencv源码包,make, make install,之后再编CameraCalibration就成功了。
关于程序用到的图片文件:
源码包中没有自带测试图片,因此用3DSMax 来模拟两个相机和棋盘格模型,固定两个相机位置和朝向,在不同位置和朝向摆放棋盘格,分别从左相机和右相机的视角(在3DSMax的camera视图中按F9)渲染图片,然后保存