OPEN3D(python)学习笔记

编程入门 行业动态 更新时间:2024-10-11 15:20:24

OPEN3D(python)<a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记"/>

OPEN3D(python)学习笔记

官方文档链接

/

示例代码

read_selection_polygon_volume读取指定的多边形区域的json文件。

import open3d as o3d
import numpy as np# 从文件中读取点云
pcd = o3d.io.read_point_cloud('./fragment.ply')vol = o3d.visualization.read_selection_polygon_volume('./cropped.json')
chair = vol.crop_point_cloud(pcd)
o3d.visualization.draw_geometries([chair],zoom=0.7,front=[0.5439, -0.2333, -0.8060],lookat=[2.4615, 2.1331, 1.338],up=[-0.1781, -0.9708, 0.1608])

将需要读取的文件放在与该py文件的同级目录下,文件可从文章末尾的某盘中获取。

json中文件的内容如下:

{"axis_max" : 4.022921085357666,"axis_min" : -0.76341366767883301,"bounding_polygon" : [[ 2.6509309513852526, 0.0, 1.6834473132326844 ],[ 2.5786428246917148, 0.0, 1.6892074266735244 ],[ 2.4625790337552154, 0.0, 1.6665777078297999 ],[ 2.2228544982251655, 0.0, 1.6168160446813649 ],[ 2.166993206001413, 0.0, 1.6115495157201662 ],[ 2.1167895865303286, 0.0, 1.6257706054969348 ],[ 2.0634657721747383, 0.0, 1.623021658624539 ],[ 2.0568612343437236, 0.0, 1.5853892911207643 ],[ 2.1605399001237027, 0.0, 0.96228993255083017 ],[ 2.1956669387205228, 0.0, 0.95572746049785073 ],[ 2.2191318790575583, 0.0, 0.88734449982108754 ],[ 2.2484881847925919, 0.0, 0.87042807267013633 ],[ 2.6891234157295827, 0.0, 0.94140677988967603 ],[ 2.7328692490470647, 0.0, 0.98775740674840251 ],[ 2.7129337547575547, 0.0, 1.0398850034649203 ],[ 2.7592174072415405, 0.0, 1.0692940558509485 ],[ 2.7689216419453428, 0.0, 1.0953914441371593 ],[ 2.6851455625455669, 0.0, 1.6307334122162018 ],[ 2.6714776099981239, 0.0, 1.675524657088997 ],[ 2.6579576128816544, 0.0, 1.6819127849749496 ]],"class_name" : "SelectionPolygonVolume","orthogonal_axis" : "Y","version_major" : 1,"version_minor" : 0
}

对于这个json文件,官方文档中没有给出解释,根据测试得出的结论如下,若有不对的地方还请各位大神指正:

1. asix_max为指定轴的最大值,asix_min为指定轴的最小值;

2. orthogonal_axis为指定轴;

3. bounding_polygon 可以认为是裁剪框的点集,其中指定轴的值都为0,表示为指定轴范围内所有点,因此每个点也表示一条线,每一条线与上一条线相连形成切割面,加上指定轴的最大最小值,便可确定出裁剪的范围。所以,相同的点如果顺序不同也会有着不同的效果;

4. class_name为SelectionPolygonVolume,改为其它的或删除会使得json文件加载失败;

5. version_major为1,version_minor为0,改为其它或者删除也会使得json文件加载失败。

运行效果如下:

 裁剪出了想要的椅子。

文件链接

链接: 
提取码:5u7b 

 
          

更多推荐

OPEN3D(python)学习笔记

本文发布于:2024-03-23 23:32:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744149.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   OPEN3D   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!