当前位置: 首页 > news >正文

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:为外部世界坐标到像平面的投影矩阵

相关文章:

  • 计算机网络之ARP协议
  • 【MQ02】基础简单消息队列应用
  • php获取网卡的MAC地址原码;目前支持WIN/LINUX系统
  • Likeshop多商户商城源码系统,支持二开
  • 构建知识图谱:从技术到实战的完整指南
  • React16源码: React中context-stack的源码实现
  • C#调用SqlSugar操作达梦数据库报错“无效的表或视图名”
  • 消息中间件之八股面试回答篇:三、RabbitMQ如何解决消息堆积问题(100万条消息堆积)+RabbitMQ高可用性和强一致性机制+回答模板
  • Datawhale 组队学习Task8大模型的有害性(上/下)
  • 毕业找工作只会C语言是不是完蛋了?
  • 当代码遇上玄学……
  • SRE-Redis基本概念篇
  • 初识elasticsearch
  • 内网安全:NTLM-Relay
  • 幻兽帕鲁服务器出租,腾讯云PK阿里云怎么收费?
  • JS 中的深拷贝与浅拷贝
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【comparator, comparable】小总结
  • egg(89)--egg之redis的发布和订阅
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript 一些 DOM 的知识点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Spring Boot MyBatis配置多种数据库
  • Spring Boot快速入门(一):Hello Spring Boot
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue全家桶实现一个Web App
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 百度地图API标注+时间轴组件
  • 从零搭建Koa2 Server
  • 代理模式
  • 当SetTimeout遇到了字符串
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 对超线程几个不同角度的解释
  • 多线程事务回滚
  • 二维平面内的碰撞检测【一】
  • 计算机在识别图像时“看到”了什么?
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端存储 - localStorage
  • kubernetes资源对象--ingress
  • ​水经微图Web1.5.0版即将上线
  • !!Dom4j 学习笔记
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (转载)Linux 多线程条件变量同步
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .apk文件,IIS不支持下载解决
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net core Swagger 过滤部分Api
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net2005怎么读string形的xml,不是xml文件。