虚拟机环境
在VMware 14.0上安装Ubuntu16.04LTS系统,装软件和系统教程可以在网上找,有很多。也可点此处
openCV环境
Linux下OpenCV交叉编译环境的搭建
具体步骤如下:
(1)下载TI官方SDK包
- 图1 下载SDK包
(2)执行chmod 0777 ti-processor-sdk-linux-am57xx-evm-04.03.00.05-Linux-x86-
Install.bin,执行./ti-processor-sdk-linux-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
(3)打开.bashrc 文件。执行sudo vim ~/.bashrc
(4)在文件末尾添加环境变量
(5)运行命令source ~/.bashrc 使环境变量生效
(6)运行命令arm-linux-gnueabihf-gcc-v测试交叉编译工具链是否安装成功,当打印信息如图5-7所示时,表示交叉编译工具链安装成功。
- 图2 测试交叉编译工具链是否成功
基于MATLAB工具箱的双目相机标定
标定步骤如下:
(1)制作棋盘标定板
本文使用的标定采集板采用的是格数为63的黑白相间棋盘图,每小格的规格为28mm×28mm,将其贴在硬纸板上,如图所示。
- 图3 棋盘标定采集板
(2)图像采集
图像采集是需要不断变换棋盘的角度,使棋盘同时在两个双目相机的画面中保持完整。为了获得精确的标定数据,本文一共采集了68组图像对。
(3)打开标定工具箱
打开matlab在命令行输入stereoCameraCalibrator,弹出标定窗口,将窗口上方Skew、Tangential Distortion以及3 Coefficients选项选中,将2 Coefficients选项去掉,如下图所示:
- 图4 打开标定工具箱
(4)载入图像
点击“Add Images”按钮,弹出添加对话框,输入左标定图像所在文件夹和右标定图像所在文件夹;并且输入棋盘格上每个格子所占的真实尺寸大小;如图所示:
- 图5 载入图像
(5)相机标定
点击“Calibrate”按钮,进行标定;会出现如下图所示窗口界面,其中包含:标定的效果;或双目矫正结果;重投影误差柱状图;相机外参结构图;左下方的柱状图为左右图像的标定误差,点击误差较大的直方图,可以直接在左边的图像对中找到对应的图像,右键选择“Remove and Recalibrate”,重复上述步骤,直到认为误差满足标定需求为止。
- 图6 相机标定
(6)导出参数
点击“Exprot Camera Parameters”按钮,保存标定的参数数据;结果如图所示:
- 图7 导出参数结果
(7)标定结果分析
标定结束后会得到如图所示标定结果,其中TranslationOfCamera2为相机2相对于相机1的偏移矩阵,可以直接使用;RotationOfCamera2为相机2相对于相机1的旋转矩阵,需要转置之后才能使用。CameraParameters1与CameraParameters2为左右摄像头的单独标定参数。
- 图8 标定结果