--Neozng[[email protected]]
此教程将会教会你如何使用opencv提供的例程进行相机的标定,并且是利用相机拍摄的视频进行实时标定.若是提前拍摄照片然后利用照片标定,需要自行阅读官方的教程,并in_VID5.xml中的注释进行修改.
首先你需要安装opencv,教程戳这里:全网最详细的各种opencv安装教程
若是从源码编译安装完opencv后,以C++为例,进入你编译opencv的文件夹,将sample->cpp->example_cmake下的CMakeLists.txt拷贝到sample->cpp(python)->tutorial_code->calib3d->camera_calibration 。
若你是直接从源仓库安装预编译版本,或是用openvino自带的opencv,笔者这里也有一套可以直接使用的源代码,戳这里下载:链接稍候补充
拷贝此CMakeLists.txt
打开CMakeLists.txt,修改add_exacutable()处的example.cpp为camera_calibration.cpp:
随后你需要打印一个标定板,这篇教程会教你如何DIY标定板的参数:create calibration pattern
接下来根据你的标定板样式,对in_VID5.xml进行设置,如果你是一个新手,你只需要关注以下几个参数:
修改好之后保存即可,马上在当前文件夹打开一个终端
cmake . # 生成makefile make # 编译 ./opencv_example in_VID5.xml #执行程序
此时将会打开相机,显示其拍摄的画面,将相机对准标定板,会有负片的效果(反色),说明找到了标定板.在此界面上按下g开始标定,当右下角的计数达到你设置的数量时标定结束,终端中会输出此次标定的结果,根据重投影误差和显示画面的畸变程度我们可以判断标定的效果.
标定进行中(图片待补充)