手眼标定问题排查_2_圆网格数据排查

         经过昨天晚上的调试,发现了一个主要问题:使用圆网格标定板标定时,不能使用cornerSubPix()函数,否则寻找角点时,会导致图一的情况(裁剪为30万像素)。就找到能参考的程序,推进还是很快的。

图一

一些数据对比:

棋盘格:

30万像素:

RMS error reported by calibrateCamera: 0.0595766

全像素:

RMS error reported by calibrateCamera: 0.194288

RMS error reported by calibrateCamera: 0.194288

check camera calibrate result, it is 1

averageReprojectionErrors, it is 0.194287

我的圆网格图片:

调用cornerSubPix()接口,

RMS error reported by calibrateCamera: 5.45907

未调用cornerSubPix()接口,

RMS error reported by calibrateCamera: 0.187395

check camera calibrate result, it is 1

averageReprojectionErrors, it is 0.187397

机械臂姿态变化较大数据:

RMS error reported by calibrateCamera: 0.0557502

check camera calibrate result, it is 1

averageReprojectionErrors, it is 0.0557503

第1幅图像的旋转向量 Rodrigues :

[-0.22260957481393;

 0.1711469503381653;

 -0.3290508280729473]

第1幅图像的旋转矩阵:

[0.9322830277470885, 0.3001300983645228, 0.2019165179732041;

 -0.337638649416289, 0.922308163787746, 0.1880100886410635;

 -0.1298017665329163, -0.2434534351086017, 0.9611877685128729]

第1幅图像的平移向量:

[-76.45090666433144;

 -13.574103850496;

 434.3319646871819]

第2幅图像的旋转向量 Rodrigues :

[-0.1439470290365807;

 -0.01668449089763162;

 0.2466768023889751]

第2幅图像的旋转矩阵:

[0.9696439912038159, -0.2421328498501522, -0.03409125028181945;

 0.2445181961817601, 0.9594923296042489, 0.1399475657760062;

 -0.001175609778911589, -0.1440352472627967, 0.9895718596886195]

第2幅图像的平移向量:

[7.823904018403115;

 -50.14423917119736;

 453.4540216899545]

第3幅图像的旋转向量 Rodrigues :

[0.1622441852597525;

 0.1859276514794853;

 0.2367861820170687]

第3幅图像的旋转矩阵:

[0.9551215908890158, -0.2172609446135982, 0.2013465384933214;

 0.2471337540807685, 0.9592045201131139, -0.1373011150301307;

 -0.1633023398839765, 0.1808987853474367, 0.9698494600958647]

第3幅图像的平移向量:

[-0.2591095981902292;

 -54.97726647214457;

 446.0070665585101]

第4幅图像的旋转向量 Rodrigues :

[0.2382480453803298;

 -0.2279683675221786;

 0.7445192040707087]

第4幅图像的旋转矩阵:

[0.7132444199639519, -0.6906184913985651, -0.1197016989380512;

 0.6392409050911947, 0.710977653233358, -0.2930560387724114;

 0.2874951523912637, 0.1325023620210484, 0.9485724334020924]

第4幅图像的平移向量:

[28.44445433363878;

 -49.18942620735547;

 426.3713721031345]

第5幅图像的旋转向量 Rodrigues :

[0.3555109122278653;

 0.04836697594420068;

 -0.7670684387422099]

第5幅图像的旋转矩阵:

[0.7218678956797957, 0.6867157953797334, -0.08560465853447197;

 -0.6705241309315337, 0.6634626773975407, -0.3319859417791634;

 -0.171184494114785, 0.2970499824549174, 0.9393919186889987]

第5幅图像的平移向量:

[-63.35845591415084;

 4.679880055433732;

 435.3520363224943]

第6幅图像的旋转向量 Rodrigues :

[-0.3170829604794392;

 0.02248091707007723;

 -0.1109533159581862]

第6幅图像的旋转矩阵:

[0.9936522898734279, 0.105338314798874, 0.03948374684128364;

 -0.1123995470466046, 0.9441048965366222, 0.3098907648822278;

 -0.004633427782040341, -0.3123616233965168, 0.9499519711943765]

第6幅图像的平移向量:

[19.89376289731621;

 -61.03257084438558;

 474.4755553421036]

第7幅图像的旋转向量 Rodrigues :

[-0.3221267264819541;

 -0.02002179585097706;

 -0.4023731465409322]

第7幅图像的旋转矩阵:

[0.9206309648014804, 0.3879196535889378, 0.04423764243417244;

 -0.3816118388631702, 0.87008440218237, 0.3119704112867397;

 0.08252897120505615, -0.3040912288087018, 0.9490613749771133]

第7幅图像的平移向量:

[-90.30954876816227;

 -6.705349668820628;

 463.118835621722]

这些数据看着就挺正常的。下次把有问题的数据列下。

上面数据均未使用图片校准。

目前这个相机标定程序比较OK,至此棋盘格和圆网格两种标定板。有需要的同志可在公众号后台留言“改进的相机标定程序”。

上一篇手眼标定问题排查:

手眼标定问题排查_1_棋盘格相机内参标定姿态数据

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

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

相关文章

imu6xl点灯(C语言)

参考正点原子开发指南 根据原理图可以看出,我们需要设置低电平导通电路。 在原理图上找到LED0,对应IO为GPIO3 IO复用配置 IMX6UL每个引脚都可以复用 在用户手册第30章可以找到IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03这个寄存器,地址为0x020E0068&…

Linux网络名称空间和虚拟机有何区别

在Linux系统中,网络名称空间和虚拟机都是实现资源隔离和虚拟化的技术,但它们在设计理念、实现机制、资源消耗、使用场景等方面存在着显著的区别。本文旨在全方位、系统性地分析这两种技术的区别。🔍 1. 设计理念与实现机制 1.1. 网络名称空…

未来汽车硬件安全的需求(2)

目录 4.汽车安全控制器 4.1 TPM2.0 4.2 安全控制器的硬件保护措施 5. EVITA HSM和安全控制器结合 6.小结 4.汽车安全控制器 汽车安全控制器是用于汽车工业安全关键应用的微控制器。 他们的保护水平远远高于EVITA HSM。今天的典型应用是移动通信,V2X、SOTA、…

python使用ffmpeg分割视频为Hls分片文件/使用OpenSSL加密m3u8和TS文件

FFmpeg和OpenSSL是一个开源免费的软件,在官网上就能下载, FFmpage网址(建议选择文件名full结尾的文件):Builds - CODEX FFMPEG gyan.dev OpenSSL网址(建议选择win64的MSI文件):Win3…

maven依赖管理:依赖仓库管理

1、Maven的依赖如何存放管理? Maven中存在依赖组件(常用的是jar包、war包、pom等,也可把Zip包等通过POM文件定义为依赖组件)的地方称为仓库(Repository)。 在Maven中,仓库有三种类型&#xff1…

CSS中grid网格布局(秒懂如何实现网格布局)-菜鸟教程

目录 一、概念 二、使用 1.网格元素 2.display属性 3.网格轨道 4.fr 单位 5.网格单元 6.网格区域 7.网格列与行 8.CSS 网格属性 三、网格容器 display: grid-template-columns 和 grid-template-rows: grid-gap、grid-row-gap 和 grid-column-…

如何使用SQL注入工具?

前言 今天来讲讲SQL注入工具,sqlmap。如何使用它来一步步爆库。 sqlmap官方地址如下。 sqlmap: automatic SQL injection and database takeover tool 前期准备,需要先安装好docker、docker-compose。 一个运行的后端服务,用于写一个存在…

计算机网络-TCP断开连接阶段错误应对机制

连接断开阶段 四次挥手机制:TCP连接的断开需要四次挥手,这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并,因为在回复第二次挥手的时候,可能还有数据没有接收完成,所以需要先回复ACK报文&#xff0c…

【U8+】打开固定资产卡片,提示:运行时错误‘91’,未设置对象变量或with block变量。

【问题描述】 用友U8软件,固定资产模中打开某张卡片后, 提示:运行时错误‘91’,未设置对象变量或with block变量。 Ps:但不是所有卡片打开的时候都会提示,有的正常。 【解决方法】 跟踪数据库后&#xff…

SpringBoot入门(Hello World 项目)

SpringBoot关键结构 1.2.1 Core Container The Core Container consists of the Core, Beans, Context, and Expression Language modules. The Core and Beans modules provide the fundamental parts of the framework, including the IoC and Dependency Injection featur…

C语言易错知识点(3):字符数组的修改、sscanf、sprintf

字符数组是一个很细节的语法,涉及很多知识点,这篇文章我主要分享一下如何理解字符数组,以及对应的sscanf、sprintf有什么用 1.字符数组的初始化以及内容修改易错点 字符数组的初始化方式有两种,一种是直接用字符串进行初始化&am…

每日一题---OJ题: 相交链表

片头 嗨! 小伙伴们,大家好! 今天我们来一起学习这道OJ题---相交链表,准备好了吗? Ready Go! ! ! emmm,看这道题好像不怎么难,我们一起画图分析分析 上图中,A链表有5个结点,分别为 a1,a2,c1,c2,c3 ; B链表有6个结点,分别为 b1,b2,b3,c1,c2,c3 ; A链表和B链表在c1结点相交 …

渗压计在测压管与测井中的安装方法

在地下水动态监测与工程安全评估中,渗压计扮演着至关重要的角色。它能够精准地测量地下水压力的变化,为工程师提供决策依据。本文将详细阐述在测压管或测井中如何正确安装渗压计,以确保其准确度和可靠性。 一、建立零读数并浸透透水石 在安装…

PandasAI的应用与实战解析(一):环境安装、运行demo

文章目录 1.源码包下载、明确依赖版本2.安装python依赖3.运行demo 本博客源码仓库地址:gitlab,本篇博客对应01分支python版本为3.10.x 什么是PandasAI?一句话总结的话,PandasAI就是一个结合了Pandas和AI的开源工具,更…

windwos安全加固

一、账号管理 按用户类型分配账号 目的:根据系统要求,设定不同账户和组,管理员、数据库 sa、审计用户、来宾用户等 实施方法: 打开本地用户和计算机管理器 ​ 1.打开运行,输入lusrmgr.msc 2.根据用户要求将账户加入…

秋招算法刷题7

20240410 1.接雨水 方法一,动态规划,时间复杂度O(n^2),空间复杂度O(n) public int trap(int[] height) { int nheight.length; if(n0){ return 0; } …

java:字符集和字符流

字符集 规定了字符和二进制之间对应关系的一张表 字节是计算机最基本的存储单位 字符则是通过字符组成和编码而成的文本 常见字符集 1,ASCII字符集 基础字符编码标准,包含128个字符,只包括英文字母,数字和一些常见的符号 一个字节表示一个字符 所有的字符集均兼容ASCII…

open-sora

Open-Sora,高效复现类Sora视频生成方案开源!魔搭社区最佳实践教程来啦!https://mp.weixin.qq.com/s/WMQIDgZs2MBPGtx18XSXgw Open-Sora开源方案讲解开源但“平替”的方案。https://mp.weixin.qq.com/s/nPYCzgBA7hIsPZ6PCyXxKQOpen-Sora/docs…

数据分析案例(一):地区收入的PCA主成分分析

练习1 地区收入的PCA主成分分析 0.变量说明 1.导包操作 核心思路:导入基础数据操作库包,PCA、k-means 库包,数据可视化库包 import pandas as pd import numpy as np from sklearn.decomposition import PCA from sklearn.preprocessing i…

YOLOV5训练KITTI数据集实践

目录 一、YOLOV5下载安装二、KITTI数据集三、标签格式转换四、修改配置文件五、训练六、测试 一、YOLOV5下载安装 git clone https://github.com/ultralytics/yolov5.git conda create -n yolov5 python3.8 -y conda activate yolov5 cd yolov5 pip install -r requirements.t…