基于单目相机的标靶三维定位——编程实现

news/2024/9/25 3:49:33/

        上一章内容中我们描述了基于单目相机实现标靶三维定位的原理,关键步骤为1)计算得到相机的内参和畸变系数;2)计算得到标靶角点的世界坐标和像素坐标;3)计算标靶坐标系到相机坐标系的变换矩阵。

        第一点我们通过相机标定得到;第二点的核心功能我们可以借助cv::findChessboardCorners和cv::cornerSubPix实现;第三点的核心功能则通过调用cv::solvePnP来实现。上述函数的功能和接口介绍在前面内容中已经包含,这里不再赘述。

        首先我们实现一个函数,输入为包含棋盘格的图像,相机内参,输出为标靶坐标系相对于相机坐标系的变换信息,具体实现如下。

/** @brief 计算包含了棋盘格的图像相对于相机坐标系的位姿信息,其中棋盘格所在的世界坐标系原点为左上角角点,X向右,Y向下
@param img: 包含棋盘格的图像
@param board_size: 棋盘格中角点分布行列数
@param board_length: 棋盘格中方块的边长,单位为mm
@param cameraMatrix: 相机内参矩阵
@param distCoeffs: 相机畸变系数矩阵
@param rvec: 计算得到的世界坐标系变换到相机坐标系的旋转向量
@param tvec: 计算得到的世界坐标系变换到相机坐标系的平移向量
@return 若计算成功返回0,否则返回非0值
*/
int CalculateExtrinsics(const cv::Mat& img, cv::Size board_size, float board_length, cv::Mat& cameraMatrix,const cv

http://www.ppmy.cn/news/1428744.html

相关文章

vuex.esm.js:497 [vuex] unknown action type: userModule/ClearStorage

vuex.esm.js:497 [vuex] unknown action type: userModule/ClearStorage 错误解释: 这个错误表明在Vuex中尝试调用一个名为userModule/ClearStorage的action,但是在该模块的actions定义中没有找到这个名字的函数。这可能是由于拼写错误、未定义的actio…

英语写作中“原理”“准则”principle、norm、criterion、rule等的用法

一、principle、rule一般指科学原理和法则,例如: Newton’ laws of motion are the basic principle of mechanics. (牛顿运动定律是力学的基本原理。) Maxwell’ equations are the rule electromagnetic fields and electroma…

就业班 第三阶段(ansible) 2401--4.16 day2 ansible2 剧本+角色

六、Ansible playbook 简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。   通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的…

分布移位下用于泛化的泛化的自监督测试时训练

Test-Time Training with Self-Supervision for Generalization under Distribution Shifts 论文链接 https://arxiv.org/abs/1909.13231 代码链接 Test-Time Training Project Website 发表于ICML2020 机构: UC Berkeley, UC San Diego 这张文章里的…

探索AI大模型:理论、技术与应用

引言 近年来,随着深度学习技术的迅猛发展,AI大模型已经成为人工智能领域的重要研究方向和热点话题。AI大模型,指的是拥有巨大参数规模和强大学习能力的神经网络模型,如BERT、GPT等,这些模型在自然语言处理、计算机视觉…

mklink 命令的使用(适用场景:C盘爆满,转移到其他盘)

一、背景 将Oracle数据库安装在D盘,由于磁盘爆满,需要将数据库转移到其他磁盘(如:J盘)。 在移动数据库之后,会出现数据库无法使用的情况,这时该如何解决?经了解,可以使用…

EelasticSearch使用

1. Easy-ES介绍 Easy-Es 2. 导入依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions>//排除框架中原有的依赖包<exclusion><groupId>org.elast…

第七周C语言编程题

第七周C语言编程题 第一题 题目&#xff1a;循环结构练习05 用for语句输出倒三角图案 这是一个编程题模板。 要求用for语句&#xff0c;输出指定的由“*”符号组成的倒三角图案。 输入格式: 本题目没有输入。 输出格式: 按照下列格式输出由“*”符号组成的倒三角图案。…