单目相机测距(3米范围内)二维码实现方案(python代码 仅仅依赖opencv)

总体思路:先通过opencv 识别二维码的的四个像素角位置,然后把二维码的物理位置设置为

cv::Point3f(-HALF_LENGTH, -HALF_LENGTH, 0),  //tl        cv::Point3f(HALF_LENGTH, -HALF_LENGTH, 0),  //tr        cv::Point3f(HALF_LENGTH, HALF_LENGTH, 0),  //br        cv::Point3f(-HALF_LENGTH, HALF_LENGTH, 0)  //bl

,相当于这是一个任意找的物体上的四个点,对应的我们找到了在图像中对应的像素坐标。这就解决了世界坐标系与像素坐标系之间的对应问题,然后再通过PNP求解的方式,就可以通过旋转向量和平移向量就可以得到相机坐标系相对于世界坐标系的旋转参数与平移情况,也就是二维码离相机的实际位姿。

# coding:utf-8


import cv2
import numpy as np
#pip install openc v -python


# !!!!这里要把参数替换为你自己的相机的内参矩阵  我的像素是 # (480, 640, 3)
camera_matrix = np.array([
                          [273.4985, 0, 321.2298],
                          [0, 273.3338, 239.7912],
                          [0., 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SAAS版专业级条码标签打印软件解决方案

一。新一代互联网打印模式 saas云标签打印软件支持条码、二维码、表格等模式组合打印,支持批量打印标签、表格模拟数据 、在线预览二维码打印 、在线条码生成打印标签 ● 条码/二维码/标签打印,支持表格批量打印标签; ● 条码/二维码尺寸…

呼叫系统的客服的计费模式有哪些?

大家都已经了解呼叫总的区分为两种呼入和呼出。呼入就是建立客服呼叫中心,呼出就是电销回访外呼中心。那么相应的计费模式也是有不同的。下面看看以下几种收费模式 : 一、按月收费模式 也叫固定客服模式,是根据上月结算的费用,企业…

C++11--右值引用

目录 基本概念 左值和右值 左值引用和右值引用 右值引用使用场景和意义 左值引用使用场景 左值引用的短板 右值引用和移动语义 右值引用引用左值 右值引用的其他使用场景 完美转发 万能引用 完美转发保持值得属性 完美转发使用得场景 基本概念 左值和右值 什么…

二维码智慧门牌管理系统升级:轻松解决重新制牌问题

文章目录 前言一、更便捷的申请方式二、系统优势 前言 随着科技的快速发展,智能化管理已经成为我们日常生活的一部分。最近,为了满足人们对门牌类型更换、门牌丢失等需要重新制牌的需求,二维码智慧门牌管理系统升级了解决方案,为…

网络安全卫士:上海迅软DSE的员工上网管理策略大揭秘!

在日常办公中,企业员工可能会在互联网上有意或无意的将一些包含内部重要信息的内容发布出去,从而造成不必要的违规及泄密风险,因此对终端用户进行规范的上网行为管理,既能有效预防重要数据泄密,同时也能提高员工办公效…

高等职业学校新媒体营销实训室解决方案

背景 随着数字化时代的来临,新媒体营销成为企业推广和品牌建设的关键手段。为了培养高职学生在新媒体领域的实际操作能力,建立一套全面、系统的实训室方案至关重要。 目标 搭建高职新媒体营销实训室,旨在培养学生的实际操作能力&#xff0…

【记忆】变上限积分的可导性

只要写出来默认连续。fx连续或者可去间断点,Fx可导,跳跃间断点,Fx不可导但连续。 图片摘自没咋了23李林解析课程

.Net core 6.0 升8.0

1 Update Visual Studio 2 3 用Nutget 更新不同套件版本 更新后结果如下:

CoSeR: Bridging Image and Language for Cognitive Super-Resolution

主页:CoSeR: Bridging Image and Language for Cognitive Super-Resolution (coser-main.github.io) 图像超分辨率技术旨在将低分辨率图像转换为高分辨率图像,从而提高图像的清晰度和细节真实性。这项技术在手机拍照等领域有着广泛的应用和需求。随着超…

Linux下安装JDK

1. 软件安装 1.1 软件安装方式 在Redhat/CentOS系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式特点二进制发布包安装【常用】软件已经针对具体平台编译打包发布,只要解压就能使用,修改配置即…

物品领用管理软件哪家的好用?怎么让办公用品管理变得更加轻松高效?

对于公司而言,办公用品与固定资产同样重要,虽然大多数办公用品都属于低值易耗品,但它们却是日常工作中不可或缺的一部分。由于种类繁多,制定适当的制度对于物品领用管理来说显得十分必要,同时还需要根据实际的需求不断…

使用 PHPMailer 实现邮件的实时发送

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 今天我们利用GitHub上20K星星的项目 PHPMailer…

Python 类:探索面向对象编程的奇妙世界

在 Python 中,类是一种强大的工具,可以让你更有组织地编写代码,实现真正的面向对象编程。 本篇文章将详细介绍 Python 类的知识点和使用方法,通过通俗易懂的解释和使用案例,帮助大家轻松理解并掌握类的奥秘。 1、类和…

Mac电脑如何安装git

一、简介 在Mac上安装Git之前,可以先使用git --version来查看一下是否安装了Git,因为Mac系统可能自带了Git,或者在你安装XCode(或者XCode的命令行工具)时,可能已经安装了 Git。 如果Mac还没有安装Git的话&…

论文解读:EfficientViT-提高吞吐量

摘要 要解决的问题 Vision transformers have shown great success due to their high model capabilities. However, their remarkable performance is accompanied by heavy computation costs, which makes them unsuitable for real-time applications. vit计算开销大&a…

AI大模型专题:北京市人工智能行业大模型创新应用白皮书

今天分享的是人工智能系列深度研究报告:《AI大模型专题:北京市人工智能行业大模型创新应用白皮书》。 (报告出品方:北京市科学技术委员会、中关村科技园区管理委员会) 报告共计:72页 海量/完整电子版/报…

自定义数组,循环展示对象数据

HTML <div v-for"(item, index) in dataList" :key"index"> <span>{{ item.title }}:</span> <span>{{ dataInfo[item.content] }}</span> </div> JS 需要展示的键值对放入数组中 let dataList [ { title: data1, co…

【Go】Go语言基础内容

变量声明&#xff1a; 变量声明&#xff1a;在Go中&#xff0c;变量必须先声明然后再使用。声明变量使用 var 关键字&#xff0c;后面跟着变量名和类型&#xff0c;如下所示&#xff1a; var age int这行代码声明了一个名为 age 的整数变量。 变量初始化&#xff1a;您可以在声…

Python面向对象②:属性与方法【侯小啾Python基础领航计划 系列(二十)】

Python面向对象②:属性与方法【侯小啾Python基础领航计划 系列(二十)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

Centos系列:shell编程综合练习(个人学习记录)

shell编程综合练习&#xff08;个人学习记录&#xff09; shell编程until 循环跳出循环1. break命令2. continue 命令 Shell函数特殊变量输入输出重定向输出重定向输入重定向重定向 Shell实战监控centos7运行状态/proc/stat文件编写脚本free命令监控系统内存 shell编程 until …