日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 读写pcd

發布時間:2023/12/16 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 读写pcd 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 讀點云的3種方式

#第一種 # pip3 install python-pcl import pcl #pcd_ndarray = pcl.load(args.pcd_path).to_array()[:, :3] #不要intensity pcd_ndarray = pcl.load_XYZI(args.pcd_path).to_array()[:, :4] point_num = pcd_ndarray.shape[0] # shape屬性可以獲取矩陣的形狀(例如二維數組的行列),獲取的結果是一個元組#第二種 def read_pcd(pcd_path):lines = []num_points = Nonewith open(pcd_path, 'r') as f:for line in f:lines.append(line.strip())if line.startswith('POINTS'):num_points = int(line.split()[-1])assert num_points is not Nonepoints = []for line in lines[-num_points:]:x, y, z, i = list(map(float, line.split()))#這里沒有把i放進去,也是為了后面 x, y, z 做矩陣變換的時候方面#但這個理解我選擇保留, 因為可能把i放進去也不影響代碼的簡易程度points.append((np.array([x, y, z, 1.0]), i))return points#第三種 def load_pcd_to_ndarray(pcd_path):with open(pcd_path) as f:while True:ln = f.readline().strip()if ln.startswith('DATA'):breakpoints = np.loadtxt(f)points = points[:, 0:4]return points #第四種(需要源碼安裝pypcd)鏈接在底部 import argparse from pypcd import pypcd import numpy as np parser = argparse.ArgumentParser() parser.add_argument('--pcd_path', default='', type=str) args = parser.parse_args()def read_pcd(pcd_path):pcd = pypcd.PointCloud.from_path(pcd_path)pcd_np_points = np.zeros((pcd.points, 5), dtype=np.float32)print(pcd.pc_data['x'])pcd_np_points[:, 0] = np.transpose(pcd.pc_data['x'])pcd_np_points[:, 1] = np.transpose(pcd.pc_data['y'])pcd_np_points[:, 2] = np.transpose(pcd.pc_data['z'])pcd_np_points[:, 3] = np.transpose(pcd.pc_data['intensity'])pcd_np_points[:, 4] = np.transpose(pcd.pc_data['is_ground'])del_index = np.where(np.isnan(pcd_np_points))[0]pcd_np_points = np.delete(pcd_np_points, del_index, axis=0)return pcd_np_pointsread_pcd(args.pcd_path)

在python3中使用pypcd讀取點云數據

2. 寫點云的兩種方式

HEADER = '''\ # .PCD v0.7 - Point Cloud Data file format VERSION 0.7 FIELDS x y z intensity SIZE 4 4 4 4 TYPE F F F F COUNT 1 1 1 1 WIDTH {} HEIGHT 1 VIEWPOINT 0 0 0 1 0 0 0 POINTS {} DATA ascii '''def write_pcd(points, save_pcd_path):n = len(points)lines = []for i in range(n):x, y, z, i, is_g = points[i]lines.append('{:.6f} {:.6f} {:.6f} {}'.format( \x, y, z, i))with open(save_pcd_path, 'w') as f:f.write(HEADER.format(n, n))f.write('\n'.join(lines))def write_pcd(points, save_pcd_path):with open(save_pcd_path, 'w') as f:f.write(HEADER.format(len(points), len(points)) + '\n')np.savetxt(f, points, delimiter = ' ', fmt = '%f %f %f %d')

總結

以上是生活随笔為你收集整理的python 读写pcd的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产 欧美 日韩 一区 | 久久久久五月天 | 大奶一区二区 | 在线麻豆av | 精品伦精品一区二区三区视频密桃 | 亚洲天堂爱爱 | 日韩一区二区三区四区 | 深夜成人福利 | 亚洲欧美变态另类丝袜第一区 | www久久久久久久 | 天干夜天干天天天爽视频 | 亚洲精品中文字幕在线观看 | 伊人网在线播放 | 国产福利小视频在线观看 | 得得的爱在线视频 | 69激情网 | 黄网av | 国内自拍第二页 | 日韩五码 | 四虎一国产精品一区二区影院 | 色噜噜在线播放 | 欧美自偷自拍 | 性高湖久久久久久久久aaaaa | 国产又大又粗又硬 | 日韩av在线看 | 欧美卡一卡二 | 亚洲精品日韩欧美 | 欧美成人午夜剧场 | 色偷偷人人澡人人爽人人模 | 色爽爽爽爽爽爽爽爽 | 天天操天天爽天天射 | 中文二区 | 小香蕉av | 日本高清免费视频 | 极品少妇网站 | 少妇av片| 丁香六月欧美 | www.成人.com | 在线看片中文字幕 | 国产不卡一区 | 久久久精品小视频 | 久久久久在线视频 | 一区二区在线视频观看 | 亚洲经典视频 | 精品视频 | www.黄色网址.com | 中文字幕第一区 | 夜夜嗨一区二区三区 | 最新中文字幕av专区 | 亚洲a图 | 美国爱爱视频 | 欧美日韩精品一区二区在线播放 | 快灬快灬一下爽69 | 成人午夜在线观看 | 日韩二三区 | 日韩av免费网站 | 激情五月视频 | 极品国产一区 | 日本视频黄| 欧av在线 | chien国产乱露脸对白 | 久久一热 | 高跟91白丝 | 一级少妇女片 | 美国一级片网站 | 色大师在线观看 | 四虎成人永久免费视频 | 福利在线播放 | 久草视频手机在线观看 | 国产成年网站 | 亚欧洲精品视频在线观看 | 在线观看国产黄色 | 精品国产视频 | 天天天av| 色91视频 | 一区二区三区高清 | 久久综合九色综合网站 | 国产一区二区三区在线播放无 | 少妇丰满尤物大尺度写真 | 99午夜视频| 国模在线| 国产尤物网站 | av免费大片 | 一炮成瘾1v1高h | 亚洲欧美一区二区视频 | 99久热在线精品996热是什么 | 免费处女在线破视频 | 欧美黄色a视频 | 中国女人内96xxxxx | 亚洲中文无码久久 | 国产精品丝袜在线 | 天堂福利在线 | 古装做爰无遮挡三级视频 | 亚洲综合五月天 | 大乳护士喂奶hd | 久久久久久久久免费 | 欧美精品久久久 | 亚洲欧美日韩精品在线 | 91久久精品夜夜躁日日躁欧美 |