基于opencv的单目相机标定

openCv版本:4.4.0

  1. 从源码处拷贝标定代码出来使用,需要拷贝samples/cpp/tutorial_code/calib3d/camera_calibration
    需要的文件如下:
python 复制代码
-rw-rw-r-- 1 rog rog 28490 Jul 18  2020 camera_calibration.cpp
-rw-rw-r-- 1 rog rog  3152 Jul 18  2020 in_VID5.xml
-rw-rw-r-- 1 rog rog 19220 Jul 18  2020 out_camera_data.yml
-rw-rw-r-- 1 rog rog   387 Jul 18  2020 VID5.xml
  1. 制作打印标定板
    标定板制作:https://calib.io/pages/camera-calibration-pattern-generator

按照下面的选项设置参数导数PDF打印

  1. 拍摄照片:
    4. 修改刚拷贝出来的文件VID5.xml 注意是相对路径 而且本人图片是放在phone_img目录下,根据你自己照片位置修改
c 复制代码
<?xml version="1.0"?>
<opencv_storage>
<images>
        ..//image_1.jpg
        ../phone_img/image_2.jpg
        ../phone_img/image_3.jpg
        ../phone_img/image_4.jpg
        ../phone_img/image_6.jpg
        ../phone_img/image_8.jpg
        ../phone_img/image_9.jpg
        ../phone_img/image_10.jpg
        ../phone_img/image_11.jpg
        ../phone_img/image_12.jpg
        ../phone_img/image_13.jpg
</images>
</opencv_storage>
  1. 修改in_VID5.xml文件
c 复制代码
  #标定板宽的个数 注意是黑白交点个数 也就是角点个数
  <BoardSize_Width>11</BoardSize_Width>
  #标定板 高
  <BoardSize_Height>8</BoardSize_Height>
  #单个正方形的边长 拿尺子量
  <Square_Size>19</Square_Size>
  #是否沿水平轴反转照片
  <Input_FlipAroundHorizontalAxis>1</Input_FlipAroundHorizontalAxis>
  1. 修改cmake 编译camera_calibration.cpp 注意指定你openCv路径
c 复制代码
mkdir  build 
cd build 
make 
  1. 执行编译的程序
c 复制代码
./Camera_Calibration ../in_VID5.xml
  1. 生成标定参数文件out_camera_data.xml
    这里使用科学计数法,顺序依次是:fx 0 cx 0 fy cy 0 0 1
    k1 k2 p1 p2 k3
相关推荐
Lethehong3 分钟前
CANN ops-nn仓库深度解读:AIGC时代的神经网络算子优化实践
人工智能·神经网络·aigc
开开心心就好4 分钟前
AI人声伴奏分离工具,离线提取伴奏K歌用
java·linux·开发语言·网络·人工智能·电脑·blender
TechWJ5 分钟前
CANN ops-nn神经网络算子库技术剖析:NPU加速的基石
人工智能·深度学习·神经网络·cann·ops-nn
凌杰5 分钟前
AI 学习笔记:LLM 的部署与测试
人工智能
心易行者8 分钟前
在 Claude 4.6 发布的当下,一个不懂编程的人聊聊 Claude Code:当 AI 终于学会自己动手干活
人工智能
子榆.8 分钟前
CANN 性能分析与调优实战:使用 msprof 定位瓶颈,榨干硬件每一分算力
大数据·网络·人工智能
爱喝白开水a8 分钟前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
学易12 分钟前
第十五节.别人的工作流,如何使用和调试(上)?(2类必现报错/缺失节点/缺失模型/思路/实操/通用调试步骤)
人工智能·ai作画·stable diffusion·报错·comfyui·缺失节点
空白诗12 分钟前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
空白诗19 分钟前
CANN ops-nn 算子解读:AIGC 风格迁移中的 BatchNorm 与 InstanceNorm 实现
人工智能·ai