根据3d框的八个顶点坐标,求他的中心点,长宽高和yaw值(Python)

news2024/12/23 11:22:58

要从一个3D框的八个顶点求出它的中心点、长、宽、高和yaw值,首先需要明确框的几何形状和坐标点的顺序。通常这样的框是一个矩形体(长方体),但其方向并不一定与坐标轴平行。

以下是一个步骤来解决这个问题:

  1. 求中心点
    中心点就是所有顶点坐标的平均值。
    在这里插入图片描述

  2. 求长、宽、高
    这取决于你的坐标点如何排序。假设你的8个点如下排列:
    在这里插入图片描述

  3. 求yaw值
    yaw值表示框的旋转角度。通常,yaw值表示的是框在地面平面(例如,在自动驾驶领域中,通常是xy平面)上的旋转。
    假设你的长方体是与xy平面平行的,你可以通过以下方法计算yaw:
    在这里插入图片描述

下面是一个Python函数,根据给定的八个点返回中心点、长、宽、高和yaw值:

import numpy as np

def box_properties(points):
    # 计算中心点
    center = np.mean(points, axis=0)
    
    # 计算长、宽、高
    length = np.linalg.norm(points[0] - points[1])
    width = np.linalg.norm(points[0] - points[2])
    height = np.linalg.norm(points[0] - points[4])
    
    # 计算yaw
    v = points[1] - points[0]
    yaw = np.arctan2(v[1], v[0])
    
    return center, length, width, height, yaw

# 假设points是8个点的坐标的numpy数组
points = np.array([
    [0, 0, 0],
    [1, 0, 0],
    [0, 1, 0],
    [1, 1, 0],
    [0, 0, 1],
    [1, 0, 1],
    [0, 1, 1],
    [1, 1, 1]
])

center, length, width, height, yaw = box_properties(points)
print(center, length, width, height, yaw)

这只是一个简单的例子,实际中可能需要根据你的具体场景和坐标点的顺序进行调整。

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

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

相关文章

深度学习:cross-attention介绍以及与self-attention的区别

1.Cross-attention vs Self-attention Cross-attention的输入来自不同的序列,Self-attention的输入来自同序列,也就是所谓的输入不同,但是除此之外,基本一致。 具体而言, self-attention输入则是一个单一的嵌入序列。 …

长城公开秘密AI团队,杨继峰带队,明年城市NOH落百城

作者|Amy 编辑|德新 传统车企如何打磨智能化,大模型将为车企带来多少助力? 近日,长城汽车原沙龙品牌智能化中心负责人、智能化研发总监杨继峰以TCAL(Technology Center Al Lab,简称「AI Lab」)…

【产品运营】不理想的知识库产品

知识库是将自己平时看到或用到的产品知识进行汇总和整理,这是产品知识体系的初始系统,但很多企业的知识库管理其实并不理想 为什么写这篇文章?有3个原因: 帮前客户做解决方案预研;见过太多失败案例;市面上…

实验4 交换机端口隔离(access模式)

交换机端口隔离(access模式) 实验目的实验拓扑实验步骤(1)在未划分vlan前,配置pc1、pc2的地址,如图所示(2)测试两台pc机的连通性(3)创建vlan,并验…

虚拟化技术:深入浅出

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

源码编译Qt 5.15.9+msvc2019

官方文档里给出了详细步骤: Building Qt Sources Building Qt 5 from Git (Wiki) 注:本文基于windows11vs2019x64qt5.15.9,不编译Qt WebEngine 归纳总结如下: 准备阶段 Qt for Windows - Requirements 安装python,…

实战 | 服务端开发与计算机网络结合的完美案例

前言 大家好,我是Martin 后端,可以说是仅次于算法岗之外竞争最为激烈的岗位,而其中的服务端开发也是很多人会选择在秋招中投递的一个岗位,我想对于很多人来说,走上服务端开发之路的起点就是一个回声服务器了。 今天…

canal

1 安装配置 1.1 下载 https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz 1.2 mysql配置binlog # on 时,代表着开启 show VARIABLES like log_bin; 1.3 创建MySQL canal用户 # 创建用户 create user canal% ident…

LabVIEW使用巴特沃兹低通滤波器过滤噪声

LabVIEW使用巴特沃兹低通滤波器过滤噪声 设备采集到的数据往往都有噪声,有时候这些数据要做判断使用,如果不处理往往会影响最终的结果。可以使用动态平滑,或者中值滤波等方法。这里介绍使用巴特沃斯低通滤波,也是非常方便的。 下…

Python算法练习 9.18

leetcode 1657 确定两个字符串是否相似 如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 : 操作 1:交换任意两个 现有 字符。 例如,abcde -> aecdb操作 2:将一个 现有 字符的每次出现转…

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控 ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬&…

typora补丁

背景: 安装typora后试用期30天,打补丁可解决此问题 补丁路径 某盘 链接:https://pan.baidu.com/s/18MLqJHqTL7DXdCoaZvMfhg 提取码:vkgg 1.安装typora软件 2.打补丁 2.1.下载补丁包 解压 2.2.将解压文件复制到安装目录 2.3重…

【集成学习】对已训练好的模型进行投票

在不同的数据预处理情况下训练得到了三个SVM模型,结果都差不多,对这三个模型的分类结果进行投票 1、三个模型的model_path # 最终model的path self.model_path log_path/model_name_model.gz self.time_log log_path/model_name_time_log.csv# 模型1…

Java 华为真题-新学校选址

需求: 为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。 假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。 输入描述&…

【面试经典150 | 数组】轮转数组

文章目录 写在前面Tag题目来源题目解读解题思路方法一:使用额外的数组方法二:翻转数组 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附…

网络安全是什么?手把手教你认识网络安全

一、网络安全 1.概念 网络安全从其本质上讲就是网络上的信息安全,指网络系统的硬件、软件及数据受到保护。不遭受破坏、更改、泄露,系统可靠正常地运行,网络服务不中断。 (1)基本特征 网络安全根据其本质的界定&#…

怎样用图片去搜索商品呢?

taobao.item_search_img 为了进行电商平台 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个taobao应用注册一个应用程序键(App Key) 。 3)下载taobaoAPI的SDK并掌握基本的API基础知识和…

博客数量为啥产出少了呢

如题博客数量为啥产出少了 gpt出来了之后大部分问题都可以通过gpt搜索到结果了,慢慢的就养成习惯了,很容易知道结果的东西就不想记录下来了,这获取就是人类的惰性吧,哈哈哈,越容易获取越不珍惜 提出几个问题 1. gpt是通过我们大家写的博客和大量文档学习出来的,如果大家都不…

PMP第七版考试该怎么学?

第七版怎么学习,建议报个培训班,第七版比第六版更加难以理解,除非专业人士,真的想一个人啃完难度很大。 想自学的话,可以建议学习第六版加敏捷的内容,考纲就是这两部分的内容。 考试占比参考(2…

初识Linux操作系统

W...Y的主页 😊 代码仓库分享 💕 本次内容,我们主要了解一下Linux的发展历史。 目录 Linux 背景介绍 发展史 操作系统的兴起 第一个操作系统——Unix Linux的发展史 开源 Linux官网 企业应用现状 发行版本 Linux 背景介绍 发展史 …