点云旋转平移(二)—python open3d点云平移
Python 旋转 点云 Open3D 平移
2023-09-27 14:27:52 时间
本文为博主原创文章,未经博主允许不得转载。
本文为专栏《python三维点云从基础到深度学习》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/124017716”。
点云旋转平移介绍,请参考上一节:点云旋转平移(一)—基础知识介绍_Coding的叶子的博客-CSDN博客。
本节所使用的示例pcd点云文件请参考:pcd格式点云样例文件-深度学习文档类资源-CSDN下载。
1 python open3d点云平移函数
open3d中点云的平移函数为translate。其函数原型如下所示:
pcd.translate((tx,ty,tz),relative=True)
当relative为True时,(tx, ty, tz)表示点云平移的相对尺度,也就是平移了多少距离。当relative为False时,(tx, ty, tz)表示点云中心(质心)平移到的指定位置。质心可以坐标可以通过pcd.get_center()得到。
pcd.get_center()
2 示例程序
注意事项:使用translate进行点云平移后,原始点云数据会发生变化。如果要用到平移之前的点云,那么需要复制一份原始点云进行平移变换。
# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""
from copy import deepcopy
import open3d as o3d
if __name__ == '__main__':
file_path = 'rabbit.pcd'
pcd = o3d.io.read_point_cloud(file_path)
print(pcd)
pcd1 = deepcopy(pcd)
#x方向平移
pcd1.translate((20,0,0), relative=True)
pcd2 = deepcopy(pcd)
#y方向平移
pcd2.translate((0,20,0), relative=True)
#z方向平移
pcd3 = deepcopy(pcd)
pcd3.translate((0,0,20), relative=True)
pcd4 = deepcopy(pcd)
pcd4.translate((20,20,20), relative=True)
#点云显示
o3d.visualization.draw_geometries([pcd, pcd1, pcd2, pcd3, pcd4], #点云列表
window_name="点云平移",
point_show_normal=False,
width=800, # 窗口宽度
height=600) # 窗口高度
3 平移效果
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
本文为博主原创文章,未经博主允许不得转载。
本文为专栏《python三维点云从基础到深度学习》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/124017716”。
相关文章
- 【华为OD机试真题 python】猜字谜【2022 Q4 | 100分】
- 【华为OD机试真题 python】 TLV解析【2022 Q4 | 100分】
- 为什么要学Python?
- Python集合
- 支付宝AR红包引出Python中的PIL小试
- python数字图像处理(13):基本形态学滤波
- 《教孩子学编程(Python语言版)》——2.2 旋转的海龟
- 《Python数据分析》一1.7 学习手册页
- Andrew Ng-机器学习基础笔记(下)-Python实现代码
- 华为OD机试 -旋转骰子(Python) | 机试题+算法思路+考点+代码解析 【2023】
- ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2
- 【Python爬虫】:破解网站字体加密和反反爬虫
- (原)python中import caffe提示no module named google.protobuf.internal
- Python 遍历文件 读取文件夹里面的所有文件
- Python下获取视频的旋转角度信息