opencv3例程--摄像机标定用qt实现

来源:互联网 发布:学高中化学的软件 编辑:程序博客网 时间:2024/06/08 01:31

A.首先使用Qtcreator新建一个工程,然后将/home/workspace/opencv/opencv-3.1.0/samples/cpp/tutorial_code/calib3d/camera_calibration路径下的几个文件复制到新建工程文件夹下,与工程生成的Debug文件放一起,即与可执行文件放一起。

B.Text Editor打开camera_calibration.cpp,将其内容复制到新建工程的.cpp文件中,点击Build,然后Run qmake-->Build All-->Run,也可点击左下角的三个按钮,这样就生成了可执行文件以及其他文件。

C.运行文件后,会出现Could not open theconfiguration file : default.xml,这是因为我们没有default.xml文件,或者default.xml文件的内容格式不对,需要对其中参数进行修改。

D.使用Text Editor打开之前复制在Debug文件中的in_VID5.xml文件,将其中的参数修改成我们自己的参数,一般只需要修改BoardSize_Width:棋盘格宽,BoardSize_Height:棋盘格高,Square_Size:棋盘格方格边长,Input:输入图像的路径,Calibrate_NrOfFrameToUse:标定的图片数,其他采用默认参数。注意:输入的参数不能出现空格或其他字符,否则运行程序时会出现相应错误。修改完成后将文件名改为default.xml即可。

E.在上一步中提到的Input:输入图像的路径,需要用到/home/workspace/opencv/opencv-3.1.0/samples/cpp路径下的imagelist_creator.cpp文件去生成一个.xml文件,用于存放棋盘格图片的路径,将该程序放在一个文件夹中,打开终端,转到该程序目录下,如cd ~/workspace/projects/opencv/Calibration/Debug,使用命令行g++ imagelist_creator.cpp `pkg-config  --libs  --cflags opencv`  -o  imagelist生成imagelist可执行文件,再使用命令行 ./imagelist imagelist.xml xx1.bmp xx2.bmp xx3.bmp ... 生成imagelist.xml文件,注意:imagelist可执行文件须与棋盘格图片在相同文件夹下才可执行上述命令行,也可将图片放在其他文件下,只需将上述命令行中图片名前加入相对路径即可。

F.default.xml文件,imagelist.xml文件,棋盘格图片以及程序的可执行文件放在一个文件夹下,再用Qtcreator运行程序即可实现摄像机标定。

原创粉丝点击