D435相机内参标定(无法直接应用在相机上)

2024-05-23 23:04

本文主要是介绍D435相机内参标定(无法直接应用在相机上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开roscore和相机

输入

rostopic echo /camera/color/camera_info 

 从而得到相机的内参

 

cameraInfo包含D、K、R、P四个矩阵。
矩阵D是失真系数,包括(k1, k2, t1, t2, k3)
矩阵K是相机内参,即

 矩阵R是一个3✖3的旋转矩阵,仅对双目相机有效,使左右极线平行。

矩阵P是投影矩阵,即,

    ​
 在单目相机中,Tx = Ty = 0。

标定内参

使用ros自带的标定工具

1、下载标定工具

sudo apt update
sudo apt install python3-pip
sudo pip3 install rosdepc
rosdep install camera_calibration

 安装标定功能包

sudo apt-get install ros-xxxx-camera-calibration

 xxx为ROS对应的版本号

然后启动相机打开话题

//启动相机
roslaunch realsense2_camera rs_camera.launch
rostopic list
//发布的话题名为
/camera/color/camera_info

进行标定

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.03 image:=/camera/color/image_raw camera:=/camera/color --no-service-check

 其中8x6是除去最外面的角点后的行列数

square 0.03 是方格的边长为3cm

内参校准标定板打印链接

Camera Calibration Pattern Generator – calib.io

标定的过程,不断变换位置直到calibrate可以使用。 然后就可以在终端获取内参。

等标定中X Y Size Skew 四个进度条全为绿时再点击CALIBRATE,即可生成一个压缩包,里面包含残疾的图片信息及一个txt、一个yaml文件。

这篇关于D435相机内参标定(无法直接应用在相机上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996670

相关文章

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一