openpose标定中棋盘格检测错误的解决方案

news2024/12/25 12:30:44

文章目录

  • 1、openpose 棋盘格检测流程
  • 2、解决过程
  • 3、实测结果

1、openpose 棋盘格检测流程

在opencv中通过调用cv::findChessboardCorners()函数,同时指定棋盘格内角点尺寸来检测画面中的棋盘格,结果将以一定顺序来保存结果。通常指定尺寸的两个纬度的值不能相同,例如当指定内角定尺寸为8x8时,如果棋盘格在画面中出现旋转,那么棋盘格的起点位置会出现变化,从而导致结果错误。

以openpose中内参标定关于棋盘格的检测为例说明

  • 首先在每一张图尝试在不停尺度上调用opencv的cv::findChessboardCorners()进行棋盘格检测并使用自定义参数进行角点亚像素精度定位。
  • 接着对结果进行reorderPoints()重新排序处理。
  • 最后对所有图的棋盘格检测结果进行 cv::calibrateCamera() 标定。

在这里插入图片描述

由于重排序策略的问题,会导致在内参和外参标定过程中棋盘格的位置发生变化时,会导致结果出错。例如实际使用棋盘格内角点尺寸为7x6,下图画面中棋盘格起点为右下角角点,终点为左上角,但openpose的结果最终会有出现右上角为起点、左下角为终点的错误结果。

在这里插入图片描述

2、解决过程

我们提前给出完整的github上提交 issu

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

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

相关文章

学习笔记——路由网络基础——等开销负载均衡

3、等开销负载均衡 等开销负载均衡:到达同一目标网段,存在多条路由条目,存在两条或两条以上的路由优先级值和开销值都是最优的(优先级值和开销值一致),则这几条路径执行负载均衡(在ping中就是这条路由发个包再下一条路由再发个包…

计算机网络 —— 网络层(子网掩码和子网划分)

计算机网络 —— 网络层(子网掩码和子网划分) 网络地址转换NAT子网掩码和子网划分举个例子第一步:看类型第二步:从主机号开始比对第三步:去头去尾 我们今天来看子网掩码和子网划分: 网络地址转换NAT 网络…

[FSCTF 2023]Tea_apk

得到密文和密钥 import base64 from ctypes import c_uint32import libnumDELTA 0x9E3779B9def decrypt(v, n, k):rounds 6 int(52 / n)sum c_uint32(rounds * DELTA)y v[0].valuewhile rounds > 0:e (sum.value >> 2) & 3p n - 1while p > 0:z v[p …

使用缓存降低数据库并发读写方案探索

文章目录 前言缓存设计思想缓存划分缓存应用时机 客户端缓存浏览器缓存网关或代理服务器缓存CDNPCDN 服务端缓存本地缓存本地缓存实现Java堆缓存memcached/ecachecaffeineORM框架一级/二级缓存 分布式缓存分布式缓存优缺点分布式缓存实现分布式缓存实施过程可能遇到问题分布式缓…

【冲刺秋招,许愿offer】第 一 天

【冲刺秋招,许愿offer】第 一 天 知识点emo环节 知识点 Java Leetcode:可以用LinkedListMap模拟实现LRUCache,用hash表查找,双向链表记录顺序。集合:集合的遍历方式,可以使用迭代器(万能)、增强for只能用…

Mysql使用中的性能优化——批量插入的规模对比

在《Mysql使用中的性能优化——单次插入和批量插入的性能差异》中,我们观察到单次批量插入的数量和耗时呈指数型关系。 这个说明,不是单次批量插入的数量越多越好。本文我们将通过实验测试出本测试案例中最佳的单次批量插入数量。 结论 本案例中约每次…

【模拟-BM100 设计LRU缓存结构】

题目 BM100 设计LRU缓存结构 描述 设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为 capacity ,操作次数是 n ,并有如下功能: Solution(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存get(key)&am…

[大模型]CharacterGLM-6B Transformers部署调用

环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的JupyterLab,并且打开其中的终端开始环境配置、模型下载和运行demo。 pip换源和安装依赖包 …

python爬虫入门教程(一)

上一篇文章讲了爬虫的工作原理,这篇文章以后就要重点开始讲编程序了。 简单爬虫的的两个步骤: 使用HTTPRequest工具模拟HTTP请求,接收到返回的文本。用于请求的包有: requests、urllib等。 对接收的文本进行筛选,获取想要的内容。用户筛选文…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:隧道和矿井绘图设备

RockMass 正在努力打入采矿业和隧道工程利基市场。 这家位于多伦多的初创公司正在利用 NVIDIA AI 开发一款绘图平台,帮助工程师评估矿井和施工中的隧道稳定性。 目前,作为安全预防措施,地质学家和工程师会站在离岩石五米远的地方&#xff0…

【Pyqt6 学习笔记】DIY一个二维码解析生成小工具

文章目录 Pycharm 配置QtDesignerPyUIC基本模板 代码示例依赖包main.pyscreen_shot_module.pyuntitled.pyuntitled.ui Pycharm 配置 摘自PyQT6的从零开始在Pycharm中配置与使用——蹦跑的蜗牛 pip install PyQt6 PyQt6-toolsQtDesigner File -> Settings -> External …

pdf文件在线压缩网站,pdf文件在线压缩工具软件

在数字化时代的今天,PDF文件已经成为我们日常生活和工作中不可或缺的一部分。然而,随着PDF文件的广泛使用,其文件大小问题也日益凸显。过大的PDF文件不仅占用了大量的存储空间,而且在传输和共享过程中也往往面临诸多不便。因此&am…

ubuntu 用户名及密码忘记操作

1、重启系统,长按Shift键,直到出现菜单,选则高级设置。选择recovery mode,即恢复模式 2、选择root 3、# 后面敲入 sudo passwd 用户名 4、# passwd "用户名" 之后再敲两次密码就可以了。(如果提示修改失败可先执行&a…

mac读不出来ntfs mac硬盘读不出来盘

新买的Mac电脑由于需要导入旧电脑的数据,因此通常会读取备份硬盘,通过硬盘进行导入。不过由于各种原因,有些mac用户反馈无法正常读取或写入NTFS移动硬盘,下面就通过本篇教程,简单讲述当mac读不出来ntfs,mac…

[ROS 系列学习教程] 建模与仿真 - 使用 Arbotix 控制机器人

ROS 系列学习教程(总目录) 本文目录 一、Arbotix 简介二、安装Arbotix三、配置Arbotix控制器四、配置launch启动文件五、数据交互接口六、在rviz中仿真控制机器人6.1 直接发topic控制6.2 使用键盘控制6.3 编写代码控制机器人移动 前面讲了机器人的建模,是静态的&…

独著和第一主编的区别有哪些?

独著,合著,包本 大量主编,副主编位置 国家级出版社,省级科技社 纸质书号(带CIP)电子专著,总署可查 国家级出版社,省级社,百级社 qkfb88688 独著和第一主编主要有以下区别…

免费使用GPT-4生成图片的方法

写在前言 hello,大家好,我是一点,喜欢编程,目前持续在关注AI领域的发展,希望可以结交一些有意思的朋友。 大家可以关注我的公号:【一点sir】,了解更多文章,希望可以和你们成为朋友…

变频器多段速位置定位控制注意事项

本篇博客介绍利用变频器多段速实现位置控制时的注意事项,T型和S型速度曲线轨迹规划请参考下面文章链接: S速度曲线轨迹规划(普通变频位置闭环控制算法详细介绍+SCL代码)_位置闭环算法-CSDN博客文章浏览阅读1.9k次,点赞2次,收藏9次。位置控制用PD控制器,详细内容介绍请查看…

后端服务器启动访问

VisualStudioCode(VSCode) 服务器启动 浏览器中测试访问 http://localhost:3000

JavaScript基础(十二)

截取字符串 //对象名.toLowerCase();将字符串转为小写 var strLAOWANG; strstr.toLowerCase(); console.log(str); //对象名.toUpperCase();将字符串转为大写 var str1laowang str1str1.toUpperCase(); console.log(str1); 截取字符串 //方法1:对象名.substr(a,b); …