欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

相机标定——OpenCV

程序员文章站 2023-12-27 09:05:45
...

使用opencv标定的好处:会自动生成一个.xml文件,方便使用。(即换不同相机时候只用换这个文件,而不需要改变代码)

操作系统:Ubuntu16.04
OpenCV版本:3.4.6
摄像头:电脑自带摄像头

标定步骤
1、找到标定例程
进入OpenCV安装目录,找到samples/cpp/tutorial_code/calib3d/camera_calibration目录,把它拷贝到一个合适的位置。(因为需要修改一些代码,因此建议直接不要在原目录下使用。)

2、修改标定配置参数
找到camera_calibration/in_VID5.xml文件,这是标定程序使用的配置文件,需要设置里面的几个参数
相机标定——OpenCV
这个是棋盘格的高度和宽度!!注意:这里的宽度和高度是棋盘格内部交叉点,不是传统意义上的宽度和高度。

例如,下面这个就是9和2
相机标定——OpenCV
那每格的宽度是下面这个参数,单位为mm
相机标定——OpenCV
下面是最重要的,如果这个参数不对,识别的摄像头就不对,甚至会报错根本识别不到!!

所以!

我们来康康!就是它!!!
相机标定——OpenCV
选择输入方式
例程提供了三种输入方式。如果摄像头能被识别到,建议使用input camera方式。该方式只需要设置视频输入设备号,对于笔记本电脑来说,通常0表示笔记本自带摄像头,1表示外接摄像头。

其他方式,我也还没试过。

3、编译

需要一个CMakeLists文件,这里摘抄网上的

project(Camera_Calibration)
set(CMAKE_CXX_STANDARD 11)

find_package(OpenCV 3.0 QUIET)
if(NOT OpenCV_FOUND)    
    find_package(OpenCV 2.4.3 QUIET)
    if(NOT OpenCV_FOUND)
        message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
    endif()
endif()

include_directories(${OpenCV_INCLUDE_DIR})
add_executable(Camera_Calibration camera_calibration.cpp)
target_link_libraries(Camera_Calibration ${OpenCV_LIBS})

然后就是熟悉的

mkdir build
cd build
cmake ..
make

4、运行
终端运行
./Camera_Calibration …/in_VID5.xml
(因为需要传入参数,所以传入配置文件)

如果电脑上出现摄像头视野,则成功了一大半,按照指示运行即可。

强调一点 : 使摄像头从不同方向拍摄棋盘格,以保证程序准确计算图像畸变。

相关标签: 相机标定 opencv

上一篇:

下一篇: