PCD点云文件外部框框坐标计算

这篇具有很好参考价值的文章主要介绍了PCD点云文件外部框框坐标计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PCD点云文件直接提取的是点云的坐标,不是最外面的box的坐标,因此可以通过:

max_b = octree.get_max_bound()
min_b = octree.get_min_bound()

分别得到最大最小的xyz坐标,之后进行计算

点的序号和位置对应如下:
PCD点云文件外部框框坐标计算,日常练习,python,python

所有的代码如下,注意将pcd文件和代码置于同一文件夹中:文章来源地址https://www.toymoban.com/news/detail-685170.html

import numpy as np
import open3d as o3d

# --------------------------- 加载点云 ---------------------------
print("->正在加载点云... ")
pcd = o3d.io.read_point_cloud("clean.pcd")

# ------------------------- 构建Octree --------------------------

octree = o3d.geometry.Octree(max_depth=4)
octree.convert_from_point_cloud(pcd, size_expand=0.0)
s = octree.size

max_b = octree.get_max_bound()
min_b = octree.get_min_bound()
x_max, y_max, z_max = max_b
x_min, y_min, z_min = min_b

pb_1 = [x_max, y_max, z_min]
pb_2 = [x_max, y_max - (s / 2), z_min]
pb_3 = [x_max, y_min, z_min]
pb_4 = [x_max - (s / 2), y_min, z_min]
pb_5 = [x_min, y_min, z_min]
pb_6 = [x_min, y_min + (s / 2), z_min]
pb_7 = [x_min, y_max, z_min]
pb_8 = [x_min + (s / 2), y_max, z_min]
pb_9 = [x_max - (s / 2), y_max - (s / 2), z_min]
pb = [pb_1, pb_2, pb_3, pb_4, pb_5, pb_6, pb_7, pb_8, pb_9]

pu_1 = [x_max, y_max, z_max]
pu_2 = [x_max, y_max - (s / 2), z_max]
pu_3 = [x_max, y_min, z_max]
pu_4 = [x_max - (s / 2), y_min, z_max]
pu_5 = [x_min, y_min, z_max]
pu_6 = [x_min, y_min + (s / 2), z_max]
pu_7 = [x_min, y_max, z_max]
pu_8 = [x_min + (s / 2), y_max, z_max]
pu_9 = [x_max - (s / 2), y_max - (s / 2), z_max]
pu = [pu_1, pu_2, pu_3, pu_4, pu_5, pu_6, pu_7, pu_8, pu_9]

pm_1 = [x_max, y_max, z_max - (s / 2)]
pm_2 = [x_max, y_max - (s / 2), z_max - (s / 2)]
pm_3 = [x_max, y_min, z_max - (s / 2)]
pm_4 = [x_max - (s / 2), y_min, z_max - (s / 2)]
pm_5 = [x_min, y_min, z_max - (s / 2)]
pm_6 = [x_min, y_min + (s / 2), z_max - (s / 2)]
pm_7 = [x_min, y_max, z_max - (s / 2)]
pm_8 = [x_min + (s / 2), y_max, z_max - (s / 2)]
pm_9 = [x_max - (s / 2), y_max - (s / 2), z_max - (s / 2)]
pm = [pm_1, pm_2, pm_3, pm_4, pm_5, pm_6, pm_7, pm_8, pm_9]

print("最下面的9个点的坐标分别为: ")
for i in range(9):
    print("{}: {}".format(i + 1, pb[i]))

print("中间的的9个点的坐标分别为: ")
for i in range(9):
    print("{}: {}".format(i + 1, pm[i]))

print("最上面的9个点的坐标分别为: ")
for i in range(9):
    print("{}: {}".format(i + 1, pu[i]))

到了这里,关于PCD点云文件外部框框坐标计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PCL点云处理之pcd文件的读写(详细注释版)(一百三十三)

    `处理点云数据的第一步总是把点云从不同格式的文件读取到自己的程序里, 存储点云信息的文件包括但不限于pcd,las,ply,txt等等,由于我们用的是PCL库进行点云处理,所以最适合的还是pcd格式的点云文件,所以有必要学习如何从pcd文件中读取点云的信息:如坐标等,以及如何

    2023年04月18日
    浏览(67)
  • 【计算机图形学算法工具技巧】用Blender查看三维点云ply文件的点的序号和坐标

    因为用最近在学拉普拉斯曲面编辑的算法,需要查看三维点云ply文件的点的序号和坐标,然后固定或移动这些点的坐标。 这里介绍使用Blender 3.2软件查看三维点云ply文件的点的序号和坐标。 导入ply文件 隐藏不必要的物体(如cube),并将物体模式变成编辑模型!! 选择 gemo

    2024年02月13日
    浏览(73)
  • 保存rosbag中的图像与点云数据,输出为png pcd mp4文件

    1.保存图像数据 使用  image_view image_saver 打开一个终端输入以下指令 rosrun image_view image_saver image:=/usb_cam/image_raw  _filename_format:= \\\"%04i.png\\\" _encoding:=bgr8 参数分别为:图像的topic、文件名( %04i 是指4位数的数字)、文件的编码  32FC1 和 bgr8 然后再起一个终端播放需要保持的图像数

    2024年01月17日
    浏览(50)
  • Open3D——批量将KITTI数据集的.bin文件转换成.pcd点云格式

    Open3D——批量将KITTI数据集的.bin文件转换成.pcd点云格式 随着自动驾驶、智能制造等应用的逐渐推广,在处理三维点云数据方面的需求越来越大。而KITTI数据集是一个包含激光雷达、相机、GPS等多种传感器数据的三维视觉数据集,广泛用于计算机视觉领域的研究。 然而KITTI数据

    2024年01月16日
    浏览(45)
  • ORB-SLAM稠密点云地图构建(黑白+彩色)+ pcd文件以八叉树形式表示

    pcl1.8.1 VTK 7.1.1 版本一定要对好,如果安装了不符的版本如我之前安的pcl1.1.3和VTK8.2 一定要卸载干净不然会一直报错 ,不同版本的pcl和vtk是无法共存的,并且光把包删除是不够的,要去/usr下面使用命令行(先搜索再一起删掉) 使用高翔老师的源码ORB-SLAM2-modified 运行前要先把

    2024年02月07日
    浏览(68)
  • 利用 labelCloud 开源工具标注自己的点云数据集为KITTI标注格式教程(支持pcd、bin格式点云)

    先贴地址 github 地址:https://github.com/ch-sa/labelcloud 标注为KITTI格式的复现步骤与操作流程 首先吧pcd格式点云转乘bin格式 克隆代码 环境搭配 打开终端 依次输入下列命令 准备数据:把转换好后的bin格式点云数据放入pointclouds文件夹下 开始使用labelCloud ,进入你下载的地方打开终端

    2024年02月09日
    浏览(40)
  • 使用python-open3d读取pcd,bin格式的点云,并显示

    open3d读取pcd格式点云 效果图    用open3d读取bin文件   效果图     

    2024年02月11日
    浏览(49)
  • 第二章 python-pcl、open3d读取、显示pcd、bin等格式点云数据

    点云数据实际上就是许多组点的集合,每个点由{x,y,z}组成。当然理论上的只包含有3D坐标。 实际激光雷达获取的点云数据还会包含强度、反射率等等。但我们一般只用提取{x,y,z}来处理即可。 点云数据相比于其他传感器数据的核心优势就是在于 精准的深度信息。可惜获取具体

    2024年01月16日
    浏览(62)
  • SpringBoot日常:引入外部jar包

    我们开发中经常会遇到这样的场景,对接外部的应用接口,对方给了一个sdk,也就是一个jar包文件,此时需要引入即可调用封装好的方法。 最常解决的一个办法就是将这个jar包打包放入我们的仓库,不管是本地还是私服,这样就可以直接在pom文件引用。 1、进入jar包当前目录

    2024年03月24日
    浏览(53)
  • 爬虫日常练习-selenium登录12306

    hello,好兄弟们。经过前面几篇文章后,想必小伙伴们对于简单的网页文本爬取,图片爬取类的内容已经熟练掌握了。今天我们开始练习一个新的内容:selenium。有关这一块的基础知识网上太多了,我们作为进阶的练习文章就不在这里从基础说起了。直接上实际案例,与大家分

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包