object_model_3d_to_xyz 自理解及操作

一,先看看定义吧

( : X, Y, Z : ObjectModel3D,

Type,'有四种方式,其中只有'cartesian_faces''可以传递多个模型,其余都只能传递一个

1),'cartesian':说了不少,我想就是我东西在这里,你要怎么采样吧

2),'from_xyz_map':这个只能用于由xyz_to_object_model_3d生成的模型,数据会被映射回去,此时的camparam和pose是没用的

CamParam,"相机的内参,啥意思呢,就是你打算用什么样的相机对我这个物体进行采样"

Pose,'我的物体相对于相机是一个什么样的位姿'

: )

这两个参数就一句话,我东西放在哪儿,你想用什么相机,在什么位置采样。

二,说说操作过程

1)先求这个模型的pose。如果模型是处理过的,那就比较交单,直接用smallest_box就可以求到。如果模型有很多杂点需要去除,杂点。再求pose

2)求相机的的位置,需要三步

2.1,pose0是模型相对于相机的位置,那么invertpose0就是相机的位置。

2.2,物体距离相机多远呢,这是个关键,也就是z方向距离d是多少呢。步骤是这样的

我们假设像素的象元尺寸是a,焦距是f,相机是像素是宽3000*高2000

那么重点来了,

(1),物体的小外界圆直径D被投影到相机照片上占据相片90%的空间是合理的。这个D是可以通过get_params得到的

(2),公式来了

物体距离相机的距离d,象元尺寸a,焦距f,模型最小外圆直径D,相机图片高度2000,的关系是

d / f =D / (a * 2000 *0.9)

3)Pose的值就是

invertpose0[2]=invertpose0[2]+d

Pose:=invertpose0

可以自己试试

相关推荐
liguojun20258 小时前
智慧破局:重构体育场馆的运营与体验新生态
java·大数据·人工智能·物联网·重构·1024程序员节
Yupureki1 天前
《算法竞赛从入门到国奖》算法基础:入门篇-前缀和
c语言·数据结构·c++·算法·1024程序员节
CoderYanger2 天前
动态规划算法-01背包问题:50.分割等和子集
java·算法·leetcode·动态规划·1024程序员节
CoderYanger2 天前
动态规划算法-两个数组的dp(含字符串数组):48.最长重复子数组
java·算法·leetcode·动态规划·1024程序员节
金融小师妹2 天前
美联储议息夜:基于多智能体决策分歧模型的“鹰派降息”推演
人工智能·深度学习·1024程序员节
金融小师妹2 天前
基于NLP政策文本分析与多智能体博弈模拟的FOMC决策推演:“美联储传声筒”下的利率路径分歧
大数据·人工智能·深度学习·1024程序员节
打码人的日常分享3 天前
IPD项目质量体系管理方案
大数据·运维·人工智能·信息可视化·1024程序员节
CoderYanger4 天前
动态规划算法-两个数组的dp(含字符串数组):42.不相交的线
java·算法·leetcode·动态规划·1024程序员节
CoderYanger4 天前
动态规划算法-两个数组的dp(含字符串数组):43.不同的子序列
java·算法·leetcode·动态规划·1024程序员节
CoderYanger4 天前
动态规划算法-两个数组的dp(含字符串数组):41.最长公共子序列(模板)
java·算法·leetcode·动态规划·1024程序员节