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的值就是

invertpose02=invertpose02+d

Pose:=invertpose0

可以自己试试

相关推荐
u0103055275 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055276 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝7 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055277 天前
Java图像处理实战指南
人工智能·1024程序员节
u0103055278 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552710 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552710 天前
Java I/O核心操作实战
人工智能·1024程序员节
u01030552711 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节
u01030552712 天前
Java模块化编程实战指南
人工智能·笔记·1024程序员节
u01030552713 天前
使用BufferedReader读取控制台输入
人工智能·1024程序员节