Ubuntu2204+ROS2(humble)+usb_cam内参标定

1、安装usb_cam包

pip install pydantic==1.10.14sudo apt install ros-humble-usb-cam# 测试打开相机
ros2 launch usb_cam camera.launch.py# 显示图像
ros2 run image_view image_view image:=/camera1/image_raw

2、安装 camera_calibration

sudo apt install ros-humble-camera-calibration

3、执行标定程序

ros2 run camera_calibration cameracalibrator --size 9x6 --square 0.026 image:=/camera1/image_raw camera:=/usb_cam

参数说明:

  1. --size 当前标定板大小
  2. --square 每个小棋盘格的边长,单位米
  3. image:=/camera1/image_raw 图像来源主题
  4. camera:=/usb_cam 相机名称

4、通过不停的移动标定板:直到X、Y、Size、Skew四个都变成绿色,点击CALIBRATE按钮;

完成后可点击“save”进行保存,文件保存路径在终端里有显示。再次将标定板放在视野里时,右上角会出现一个数值,代表标定误差。

5、点击SAVE按钮

结果以压缩包形式保存在:/tmp/calibrationdata.tar.gz中。

image_width: 640
image_height: 480
camera_name: narrow_stereo
camera_matrix:rows: 3cols: 3data: [620.78764,   0.     , 301.03635,0.     , 623.18712, 249.98162,0.     ,   0.     ,   1.     ]
distortion_model: plumb_bob
distortion_coefficients:rows: 1cols: 5data: [0.156418, -0.248802, 0.003859, -0.003760, 0.000000]
rectification_matrix:rows: 3cols: 3data: [1., 0., 0.,0., 1., 0.,0., 0., 1.]
projection_matrix:rows: 3cols: 4data: [635.97443,   0.     , 298.43981,   0.     ,0.     , 638.92316, 251.00522,   0.     ,0.     ,   0.     ,   1.     ,   0.     ]

image_height、image_width:图片的高、宽

camera_name:摄像头名

camera_matrix:摄像头的内部参数矩阵

distortion_model:畸变模型

distortion_coefficients:畸变模型的系数

rectification_matrix:为矫正矩阵,一般为单位阵

projection_matrix:为外部世界坐标到像平面的投影矩阵

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

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

相关文章

爬虫学习笔记-get请求获取豆瓣电影排名多页数据★★★★★

1. 导入爬虫需要使用的包 import urllib.request import urllib.parse 2.创建请求函数 def create_request(page): # 定义不变的url部分 base_url https://movie.douban.com/j/chart/top_list?type5&interval_id100%3A90&action& # 根据规律定义data拼接url …

HCIA真机实验:三层交换机实现vlan之间的通信(内含配置命令)

基础实验示例: 最上面那个交换机作为三层交换机。 下面的两个交换机的配置与之前单臂路由实现vlan之间的通信的配置相同。在这个基础上开启三层交换机 在三层交换机上的配置: 1、创建vlan(底下的交换机有多少个vlan,则三层交换…

算法沉淀——前缀和(leetcode真题剖析)

算法沉淀——前缀和 01.一维前缀和02.二维前缀和03.寻找数组的中心下标04.除自身以外数组的乘积05.和为 K 的子数组06.和可被 K 整除的子数组07.连续数组08.矩阵区域和 前缀和算法是一种用于高效计算数组或序列中某个范围内元素之和的技巧。它通过预先计算数组的前缀和&#xf…

MyBatis详解(4) -- 动态SQL

MyBatis详解(4) 动态SQL两种方式:1.映射器配置文件; 2.注解常用的动态 SQL 元素if元素where元素set元素choose元素(优先,只执行一个)trim元素foreach 元素(批量处理)bind…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 (1)布尔值类型 (2)字符串类型 (3)一个key有多个值 &am…

Linux——shell程序的简单实现

shell程序的简单实现 本章思维导图: 注:本章思维导图对应的.xmind和.png文件都已同步导入至资源,可免费查阅 在学习完有关进程的知识后,我们就可以开始尝试自己实现一个简单的shell程序了。 注:在编写简单的shell程…

Spring - 基本用法参考

Spring 官方文档 Spring容器启动流程(源码解读) BeanFactoryPostProcessor vs BeanPostProcessor vs BeanDefinitionRegistryPostProcessor: From java doc: BeanFactoryPostProcessor may interact with and modify bean defin…

openGaussdb5.0单点企业版部署_Centos7_x86

本文档环境:CentOS7.9 x86_64 4G1C40G python2.7.5 交互式初始化环境方式 介绍 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续…

群晖安装Drive Server与Office实现团队固定公网地址远程办公

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

基于Prompt Learning的信息抽取

PTR: Prompt Tuning with Rules for Text Classification 清华;liuzhiyuan;通过规则制定subpromptRelation Extraction as Open-book Examination: Retrieval-enhanced Prompt Tuning Relation Extraction as Open-book Examination: Retrieval-enhance…

防御保护(2-6)

第二天 防火墙 防火墙的主要职责---控制和防护---安全策略---翻过去可以根据安全策略来抓取流量之后做出对应的动作。 防火墙分类 按物理特性划分:软件防火墙、硬件防火墙 按性能划分:百兆级防火墙、千兆级防火墙 按防火墙结构划分:单一主机…

为何PostgreSQL性能优于MySQL?

为何PostgreSQL性能优于MySQL? 在数据库选择过程中,性能是一个至关重要的考虑因素。PostgreSQL和MySQL是两个广泛使用的关系型数据库管理系统,它们在性能方面有着不同的特点。本文将深入探讨为何PostgreSQL在某些方面表现优于MySQL,并解释其…