几何校准 和 ros环境下标定Balser相机

news/2024/11/28 15:13:58/文章来源:https://www.cnblogs.com/zyhlearning/p/18571025

几何校准

基本概念

内参数

  1. 内参数是相机内部的参数,与相机的位置无关,由镜头和感光元器件的特性决定。
  2. 包括:主距,主点,畸变参数

畸变参数

径向畸变:正和负径向畸变

  • [@] 正径向畸变 (桶形畸变):
    • 在这种畸变中,图像中心附近的点会向外移动,图像看起来像是从中心向外膨胀,尤其是在图像的边缘部分,变形最为显著。
    • 关键点: 随着点到图像中心的距离增加,畸变也增加。即,距离越远,图像拉伸得越厉害。这种畸变的增量与角度无关,仅与点到中心的距离有关。
  • [@] 负径向畸变 (枕形畸变):
    • 在这种畸变中,图像中的点向内收缩,图像看起来像是被压入到中心,尤其是在图像的边缘部分,收缩更为明显。
    • 关键点: 随着点到图像中心的距离增加,畸变也增加,但方向相反,即图像被向中心挤压。这个畸变的增量同样与角度无关,仅与点到中心的距离有关。
  • 切向畸变 (Tangential Distortion)
    • 切向畸变会使图像中的直线发生一定的扭曲,通常是由于镜头安装在相机上时没有完全对准成像平面而引起的。这个畸变会导致图像中的直线变成曲线,但不像径向畸变那样规则。
    • 切向畸变往往会导致图像的一部分看起来倾斜或弯曲,尤其是在图像的角落处。

镜头畸变的数学模型

棋盘格标定

(5 封私信 / 81 条消息) 为何opencv张正友相机标定需要十几张棋盘格照片? - 知乎 (zhihu.com)
详解见知乎,此方法的推导有所不懂。
获取各参数:
棋盘格标定算法流程

  1. 通过世界坐标系下的棋盘格角点坐标和图像坐标系下的角点坐标计算单应矩阵H
  2. 通过外参中旋转矩阵提供的约束建立约束方程,并使用至少3张图(3个不同位置拍摄棋盘格)来计算相机的内参K
  3. 通过已知的H和K反推出外参R,t
  4. 将畸变系数初始化为0,并将1.2.3计算出的内参、外参作为初始值进行非线性优化

实践

ros 环境下标定Balser相机

参考教程

摄像头标定--camera_calibration-CSDN博客
csdn 付费资源下载网站
视频教程(5) Calibration of USB camera for AprilTag package in ROS - YouTube
标定棋盘格下载 Camera Calibration Pattern Generator – calib.io
本教程在已经配置好 basler 相机的 pylon 环境下进行。
详细环境配置参考 : ubuntu20.04安装basler相机ROS驱动并使用ROS采集数据_basler相机 ros-CSDN博客 (注意看评论可规避一些坑,师弟师妹看课题组思维导图,都有介绍)

代码

  1. 首先安装必要的包:
sudo apt install ros-noetic-camera-calibration
  1. 创建新终端,启动 ROS 核心:
roscore
  1. 新开终端,启动 Basler 相机(这是我 basler sdk 的存放位置):
source ~/ROS_Basler_camera/catkin_ws/devel/setup.bash
roslaunch pylon_camera pylon_camera_node.launch
  1. 检查相机是否正常工作(新开终端):
# 查看图像话题
rostopic list | grep image# 查看图像流是否正常
rosrun image_view image_view image:=/pylon_camera_node/image_raw
  1. 如果图像正常,新开终端运行标定程序(根据你的标定板参数修改):
# 假设标定板是 8x11 格子(内角点 7x10),格子尺寸 16mm
rosrun camera_calibration cameracalibrator.py --size 7x10 --square 0.016 image:=/pylon_camera_node/image_raw camera:=/pylon_camera_node

命令界面:

标定完成界面:点击保存 save,保存路径在 tmp/calibrationdata. tar. gz

yaml文件就是我们需要的标定结果输出结果:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/841852.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

datax的安装与使用

1、datax简介概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。支持的数据源2、架构 为了解决异构数…

Ollma本地部署Qwen2.5 14B(不使用docker)

部署机器硬件情况: 内存 :32GB 显卡 :3060 为什么不使用docker: 1.网上教程大多以docker为主 2.安装docker的时间太长,在等待的时候顺便尝试一下不用docker的部署 1.安装Ollama 下载地址:https://ollama.com/ 下载好之后默认安装即可。Ollama常用命令 【跟docker差不多,初…

[题解]2024/11/26 模拟赛

校内自命题模拟赛,密码:校OJ地址 http://___.__._.__:____/ 补全pencil 挺板的,点\(u\)的答案是\(dis(1,u)+dis(u,n)\),边\(e=(u,v)\)的答案是\(\min(dis(1,u)+dis(v,n),dis(1,v)+dis(u,n))+w(e)\)。其中\(dis(u,v)\)表示\(u\)到\(v\)的最短路。 从\(1\)和\(n\)各跑一次Dij…

【Autodesk Revit 2025下载与安装】

1、安装包 「Revit 2025」: 链接:https://pan.quark.cn/s/9342ceb1f179 提取码:WmPW 2、安装教程(建议关闭杀毒软件) 1) 双击Setup.exe安装,弹窗安装对话框2) 勾选‘我同意。。’,点击下一步3) 选择软件安装路径,建议C盘之外进行安装,点击安装4) …

CyclicBarrier的介绍

CyclicBarrier的介绍概要CyclicBarrier(循环栅栏/循环屏障)是java.util.concurrent工具类里的一个工具,它是Java提供的一种特定场景下的多线程之间进行交互的使用方法。CyclicBarrier 作用是让一组线程相互等待,当达到一个共同点时,所有之前等待的线程再继续执行,且 Cycl…

Eplan 2024下载与安装

1、安装包EPLAN Electric2024: 链接:https://pan.quark.cn/s/d44ddafa837a 提取码:FpKb 2、安装教程(建议关闭杀毒软件) 1) 解压下载的文件,查看文件目录2) 找到host文件并修改计算机本地host,文件位置(C:\Windows\System32\drivers\etc)3) 拖拽文件…

AI+若依

AI+若依https://www.bilibili.com/video/BV1pf421B71v/?spm_id_from=333.337.search-card.all.click&vd_source=b1acc63fa6d7d73e53111f9e1153f990若依扫盲通义灵码(AI)CRM客户关系管理系统(后台管理系统)选型与搭建:技术选型,环境搭建,框架整合(AI凉凉)设计:基…

ETL数据采集之Sqoop的安装部署及操作

ETL数据采集 数据采集也叫数据集成 ,我们常说的爬虫也是数据采集的一种方式 。 常用的数据采集工具分为两大类:离线数据采集(批量数据采集),实时数据采集(增量数据采集),这次我们分别来学习一下这俩种采集方式的常用工具 离线数据采集 常用工具有Sqoop、DataX、Kettle …

CTF学习(19)MISC(面具下的flag)

1.解压后发现为.jpg格式的文件--->使用010editor打开后搜索flag发现存在两个疑似flag文件的标识 第一处:第二处:2.在kali使用binwalk发现藏有两个文件--->爆破zip文件(无果,可能是伪加密?)分离后的文件:3.检查文件头加密部分(偶数,无加密)--->检查文件尾加密部分 09 …

差旅费报销管理信息系统进度1(2022java期末考试练习)接上题目

目前做了第一个表出差申请的增删改查项目结构mapper中放sql语句 service写函数定义 web写具体servlet操作 前端用html+jsp

2024.11.26总结

DrRatio本文于 github 博客同步更新。 A: 学生大战一个半小时未果,结束前半小时发现是打表找规律。 就是分讨一下,首先大于 \(1\) 的数不能超过两个,若有两个则其中一个必定为 \(2\),然后看一下 \(1\) 的个数是不是 \(3\) 的倍数即可。 B: 拆贡献,分为 \(u\rightarrow l…

五款GIS工具箱推荐:GISBox、Global Mapper等如何选择?

概述 GIS工具箱在地理信息数据的管理、分析和可视化中扮演着至关重要的角色。本文介绍了包括GISBox在内的五款GIS工具箱,分别是GISBox、Global Mapper、QGIS、Whitebox GAT和MapWindow GIS,并从功能特点、用户体验和应用场景等方面分析了它们的优缺点,帮助用户选择适合自身需…