概述
相机标定主要分为内参标定、外参标定。
一、标定各个相机内参
对各相机进行内参标定,建议拍摄时注意一下两点
- 1、棋盘默认左上角为世界坐标系原点,不要旋转棋盘超过~15-30度。
- 2、拍摄分布在不同距离,每个距离覆盖所有图像视角(所有的边界,中心等)
1、内参标定
内参标定使用 Calibration.exe 程序,这里直接给出相机ipc1和相机ipc2的标定命令行
Calibration.exe
-mode 1
-grid_square_size_mm 120.0 // 棋盘方格的边长(mm)
-grid_number_inner_corners 7x6 // 棋盘格内角点网格数
-camera_serial_number ipc1 // 相机标记字符串
-calibration_image_dir ipc1_resize // 相机标定使用图片存放路径
-camera_parameter_folder xml // 标定参数结果ipc1.xml存放路径
Calibration.exe
-mode 1
-grid_square_size_mm 120.0 // 棋盘方格的边长(mm)
-grid_number_inner_corners 7x6 // 棋盘格内角点网格数
-camera_serial_number ipc2 // 相机标记字符串
-calibration_image_dir ipc2_resize // 相机标定使用图片存放路径
-camera_parameter_folder xml // 标定参数结果ipc2.xml存放路径
依次多个相机进行内参数标定…
2、畸变校正
使用标定xml结果对使用图片进行畸变校正,并显示
OpenPoseDemo.exe
--image_dir D:Gym相机标定视频内参camera5_img
--frame_undistort
--camera_parameter_path D:Gym相机标定视频内参camera5.xml
也可以对视频进行畸变校正并显示
OpenPoseDemo.exe
--num_gpu 0
--video D:Gym相机标定视频内参Camera1.mp4
--frame_undistort
--camera_parameter_path D:Gym相机标定视频内参camera1.xml
注意:根据opencv的版本,有可能对h264h265的裸流文件不能识别,需要先进行封装为可识别的视频文件如MP4、avi等。
对于在线的相机进行实时矫正显示,windows下不能加参数–webcam,
OpenPoseDemo.exe
--num_gpu 0
--frame_undistort
--camera_parameter_path D:Gym相机标定视频内参camera1.xml
二、外参标定
外参标定需要多路相机同时采集图片,保持张数一致,命名规则一致。
1、保存畸变矫正后图片
准备四个相机同时拍摄的相片集,分别做畸变校正并保存
OpenPoseDemo.exe
--num_gpu 0
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam1_img
--frame_undistort
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera1.xml
--write_images D:/Gym/相机标定视频/外参/snapimages/cam1_img_undistort
OpenPoseDemo.exe
--num_gpu 0
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam2_img
--frame_undistort
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera2.xml
--write_images D:/Gym/相机标定视频/外参/snapimages/cam2_img_undistort
OpenPoseDemo.exe
--num_gpu 0
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam3_img
--frame_undistort
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera3.xml
--write_images D:/Gym/相机标定视频/外参/snapimages/cam3_img_undistort
OpenPoseDemo.exe
--num_gpu 0
--image_dir D:/Gym/相机标定视频/外参/snapimages/cam4_img
--frame_undistort
--camera_parameter_path D:/Gym/相机标定视频/外参/hik/camera4.xml
--write_images D:/Gym/相机标定视频/外参/snapimages/cam4_img_undistort
2、外参标定
外参标定算法中,用到了Eigen库,因此编译openpose需要依赖Eigen库。
2.1 目录结构
官方流程是所有图片是经过undistort后render的图,放入同一个文件夹,
图片格式 [%12d]_rendered[CAMERA_NUMBER_MINUS_1].png
例如,4个相机,2张图:
000000000000_rendered.png
000000000000_rendered_1.png
000000000000_rendered_2.png
000000000000_rendered_3.png
000000000001_rendered.png
000000000001_rendered_1.png
000000000001_rendered_2.png
000000000001_rendered_3.png
另外,文件夹中每个相机拍摄的图片数量要一致,并且相机参数文件和这里需要标定的相机数保持一致。例如,这里有4个相机,camera_parameter_folder/flir/中相机内参xml文件也只能有4个(可以指定不使用默认)。
2.2 依次两两标定
先以前4个相机为例 顺序为 cam1-cam2-cam3-cam4 (序号为 0-1-2-3)
将cam2作为坐标系原点。这里以10张图为例。
(1)标定 1,0 两个相机
Calibration.exe
--mode 2
--grid_square_size_mm 120.0
--grid_number_inner_corners 7x6
--omit_distortion
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration
--cam0 1
--cam1 0
--camera_parameter_folder D:Gym相机标定视频外参hik
(2)标定 1,2 两个相机
Calibration.exe
--mode 2
--grid_square_size_mm 120.0
--grid_number_inner_corners 7x6
--omit_distortion
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration
--cam0 1
--cam1 2
--camera_parameter_folder D:Gym相机标定视频外参hik
(3)标定 1,3 两个相机
Calibration.exe
--mode 2
--grid_square_size_mm 120.0
--grid_number_inner_corners 7x6
--omit_distortion
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration
--cam0 1
--cam1 3
--camera_parameter_folder D:Gym相机标定视频外参hik
这里,当1,3相机距离远,共同视角有限时,可以先标定2,3的关系,借助1,2已知的情况下,推出1,3的关系,可修改、并添加–cam0 2 --cam1 3 --combine_cam0_extrinsics参数,即
Calibration.exe
--mode 2
--grid_square_size_mm 120.0
--grid_number_inner_corners 7x6
--omit_distortion
--calibration_image_dir D:Gym相机标定视频外参extrinsic_calibration
--cam0 2
--cam1 3
--combine_cam0_extrinsics
--camera_parameter_folder D:Gym相机标定视频外参hik
三、补充说明
内参标定后, 可以不需要进行一次畸变校正。(外参标定时可指定输入是未校准的图片)
外参标定时,内参标定的xml文件放在一个文件夹中;用于外参标定的图片文件放在一个文件夹。
不同相机的图片统一添加后缀,后缀按照 第一个相机xxxx.ext,第二个相机xxxx_1.ext,第三个相机xxxx_2.ext,依次类推。相机顺序和图片后缀命名顺序一致。同样内参xml文件也要有顺序,例如第一个相机camera1.xml,第二个相机camera2.xml,第三个相机camera3.xml。
最后
以上就是微笑大神为你收集整理的openpose 官方相机标定流程(1)一、标定各个相机内参二、外参标定三、补充说明的全部内容,希望文章能够帮你解决openpose 官方相机标定流程(1)一、标定各个相机内参二、外参标定三、补充说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复