文章目录

  • 1. 使用 Matlab 进行相机标定
    • 1.1 原理推导
    • 1.2 标定图资源下载
    • 1.3 使用matlab 工具箱camera calibrator 流程
  • 2. 使用 OpenCV 进行相机标定
    • 2.1 配置 Open CV库
    • 参考资料
首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解:

http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html

对于摄像机我们所关心的主要参数为摄像机内参,以及几个畸变系数。

1. 使用 Matlab 进行相机标定

1.1 原理推导

相机标定原理推导可参考:一文详解相机标定算法原理 推导过程很详细

1.2 标定图资源下载

标定板

两种方法,直接从opencv官网上能下载到:
方案一:
http://docs.opencv.org/2.4/_downloads/pattern.png
方案啊二:
matlab生成

J = (checkerboard(300,4,5)>0.5);
figure, imshow(J);

1.3 使用matlab 工具箱camera calibrator 流程

1.打开APP 工具,选择camera calibrator

2. 导入标定图片,直接全选图片,全部导入


填写棋盘格每个格子边长的真实值
Size of checkerboard square表示棋盘格中一个格子的尺寸,默认为25mm×25mm,需要根据自己所用棋盘格图案的实际尺寸修改;


总图像14张,添加7张, 添加失败7张,添加失败的原因可能是图像较远无法清晰识别出棋盘格,单击view images可查看为被添加进去的图像;

3. 开始分析计算

径向畸变选择3个系数(即Radial Distortion下选择3 Coefficients),勾选Skew,Tangential Distortior;

然后单击Calibrate进行标定

4. 结果如下


右上角Reprojection Errors显示重投影误差,右下角可切换视图(以相机为中心或以图像为中心)

5. 导出相机参数

单击Export Camera Parameters可将相机参数导出,可在工作空间查看导出结果

双击cameraParams即可看到相机各项参数 (这里我双击没点开,点开了属性检查器

MATLAB/OpenCV--基于棋盘格相机标定教程相关推荐

  1. 棋盘格相机标定图片拍摄方法

    1.数量:超过20张,也不必过多 2.拍摄角度: (1)棋盘格在图片中占的面积越大越好,或者棋盘格和相机距离和实际使用场景的景物距离相一致. (2)多种旋转方向. (3)多种平移. (4)包含三个左右 ...

  2. 【ZED】从零开始使用ZED相机(五):Opencv+Python实现相机标定(双目)

    引言 同样Opencv+Python实现双目相机的标定,单目标定详见[ZED]从零开始使用ZED相机(五):Opencv+Python实现相机标定(单目) 1 cv2.stereoCalibrate ...

  3. OpenCV+C++面阵相机标定函数的使用

    OpenCV+C++面阵相机标定函数的使用 1. FindChessboardCorners 找到标定板内角点位置(角点是指黑白色相接的方块定点部分:内角点是不与标定板边缘接触的内部角点) 函数试图确 ...

  4. Python OpenCV实践,相机标定

    Python OpenCV实践,相机标定 前言 准备棋盘格 标定相机 图像去畸变 前言 本篇主要是使用python opencv标定相机内参和畸变参数的记录,主要参考opencv官方文档中的示例. 本 ...

  5. 相机标定教程(使用Matlab工具箱)

    理想的相机成像模型是小孔成像,空间中的物点与像面上的像点一一对应. 但是,实际情况中,相机存在畸变,导致像面上的像点产生偏移,这就需要构建非线性相机成像模型. 通过相机标定,可以求解得到相机的内参.外 ...

  6. 基于OpenCV的立体相机标定StereoCalibration与目标三维坐标定位

    说明:以下涉及到的一些公式以及图片来自于Learning OpenCV. 做了快2个月的立体相机标定,遇到了一些问题,也有了一些体会,在这里记下来. 1.在做立体相机标定的时候,标定板的规范与否直接影 ...

  7. ROS+Opencv的双目相机标定和orbslam双目参数匹配

    本文承接ROS调用USB双目摄像头模组 目录 先完成单目标定 双目标定 生成可用于ORB-SLAM2的yaml文件 生成可用于ORB-SLAM3的yaml文件 参考 按照上面链接配置好后,执行 ros ...

  8. 三维视觉 | 03 MATLAB 单、双目相机标定

    一.单目标定 1.打开MATLAB,选择APP,选择Camera Calibrator 2.点击添加图片 3.确定每一个棋盘格子的真实长度 4.点击确定后,出现下图 5.点击 Calibrator,开 ...

  9. Ubuntu 18.04 Intel RealSense D435i 相机标定教程

    1.D435i相机简介 RealSenseD435i 是一款立体视觉深度相机,如下图所示,其集成了两个红外传感器(IR Stereo Camera).一个红外激光发射器(IR Projector)和一 ...

最新文章

  1. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用
  2. 面试官问你 SpringMVC 的工作原理,你还不知道吗?
  3. 机器学习揭示了人类大脑的新见解
  4. 【剑指offer-Java版】01为了准备面试也为了提升编程技巧开始刷宝典了
  5. 用户组修改工具samusrgrp
  6. pythonsys模块介绍_sys 模块介绍 - Clarkhedi的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 弹出提示框 自动消失
  8. java 雪花特效_java实现图片飘雪花的特效
  9. 做“是非题”的正确姿势
  10. selinux= 为 disabled_安德里茨为巴西KLabin Puma II 项目提供气化炉和生物质处理线
  11. 从浏览器中下载文件如何修改默认保存位置
  12. 新功能又来啦!这次是「代码搜索」和视频直播!
  13. ps 命令查看进程状态
  14. Unicode编码在JavaScript中的作用是什么?
  15. iOS开发全套资源,从入门到全栈IOS工程师
  16. 疫情期间大学生在线学习效果调查报告
  17. PyQt5报错Process finished with exit code -1073740791 (0xC0000409)
  18. Flooded! POJ - 1877 模拟题
  19. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
  20. Java之日期与时间

热门文章

  1. JS实现将数字金额转换为大写人民币汉字
  2. JavaScript整理
  3. 软件测试遵循的基本原则
  4. windows mobile数据同步方案
  5. 回合制游戏中的活动需要注意的
  6. 电脑重装系统后Word表格自动换行的方法
  7. PADS9.5如何导出的光绘文件(Gerber),应该检查什么?
  8. Centos7下的zabbix安装与部署
  9. 【云原生 | Kubernetes 实战】18、K8s 安全实战篇之 RBAC 认证授权(上)
  10. CentOs7 安装绿色版Nginx并配置开机启动