首页 > 其他分享 >把 .xyz 文件转换成 .ply 文件

把 .xyz 文件转换成 .ply 文件

时间:2024-06-15 09:32:25浏览次数:10  
标签:文件 xyz ply points path line data

把 .xyz 文件转换成 .ply 文件 (加头文件)_python将.ply转为.xyz-CSDN博客

from plyfile import PlyData,PlyElement
import re
import numpy as np
from os.path import join

def write_ply(save_path,points,text=True):
    
    points = [(points[i,0], points[i,1], points[i,2]) for i in range(points.shape[0])]
    vertex = np.array(points, dtype=[('x', 'f4'), ('y', 'f4'),('z', 'f4')])
    el = PlyElement.describe(vertex, 'vertex', comments=['vertices'])
    PlyData([el], text=text).write(save_path)


A = []
timestamps = []

with open('/Users/manmi/Documents/data/square_data/mm_data/timestamp.txt') as f:
    content = f.readlines()
    for line in content:
        timestamp = int(line)
        timestamps.append(timestamp)
timestamps.sort()      


for k in range(0, len(timestamps)):
    src_tamestamp = timestamps[k]
    path = join('/Users/manmi/Documents/data/square_data/mm_data/mm_xyz', str(src_tamestamp)+'.xyz')              
    with open(path) as f:
        content = f.readlines()
        for line in content:
            x = float(re.split('\s+', line)[0])
            y = float(re.split('\s+', line)[1])
            z = float(re.split('\s+', line)[2])
            A.append((x,y,z))
    points = np.array(A)

    savepath = join('/Users/manmi/Documents/data/square_data/mm_data/mm_ply',str(src_tamestamp)+'.ply')
    write_ply(savepath, points, text=True)

 

标签:文件,xyz,ply,points,path,line,data
From: https://www.cnblogs.com/yibeimingyue/p/18249006

相关文章

  • JavaScript打包可执行文件
    pkg[选项]选项:-h,--help输出使用信息-v,--version输出pkg版本-t,--targets逗号分隔的目标列表(参见示例)-c,--configpackage.json或任何具有顶级配置的json文件--options将v8选项拷贝到可执行文件中,以便与它们一起运行......
  • Node.js 进行音频和视频文件编辑和转换
    安装必要的库首先,你需要安装一些处理音频和视频的库。例如,fluent-ffmpeg是一个用于处理视频和音频文件的流行库。npminstallfluent-ffmpeg转换视频格式使用fluent-ffmpeg将视频从一种格式转换为另一种格式。constffmpeg=require('fluent-ffmpeg');//转换视频格式......
  • 面试官:字节流可以处理一切文件为什么还需要字符流呢?
    一、写在开头在计算机领域中百分之九十以上的程序拥有着和外部设备交互的功能,这就是我们常说的IO(Input/Output:输入/输出),所谓输入就是外部数据导入计算机内存中的过程,输出则是将内存或者说程序中的数据导入到外部存储中,如数据库、文件以及其他本地磁盘等。二、什么是IO流这种......
  • PHP 对一个文件夹中的所有歌曲文件移动到对应的歌手目录中
    move_music_to_singer_folder.php<?php/***对一个文件夹中的所有歌曲文件移动到对应的歌手目录中,歌手按照拼音首字母作为第一级目录.*同时,如果歌手和歌曲中间有空格,则去除空格.*例如:"周杰伦-稻香.mp3"移动到"Z/周杰伦/周杰伦-稻香.mp3"*/try{requi......
  • 鸿蒙开发文件管理:【@ohos.fileManager (公共文件访问与管理)】
    公共文件访问与管理该模块提供公共文件访问和管理的服务接口,向下对接底层文件管理服务,如媒体库、外卡管理;向上对应用程序提供公共文件查询、创建的能力。 说明:本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口......
  • 鸿蒙开发文件管理:【@ohos.securityLabel (数据标签)】
    数据标签该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。 说明: 本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。导入模块importsecurityLabelfrom'@ohos.securityLabe......
  • 鸿蒙开发:【Stage模型应用配置文件】
    Stage模型应用配置文件应用配置文件中包含应用配置信息、应用组件信息、权限信息、开发者自定义信息等,这些信息在编译构建、分发和运行解决分别提供给编译工具、应用市场和操作系统使用。在基于Stage模型开发的应用项目代码下,都存在app.json5(一个)及module.json5(一个或多个......
  • youcomplete的vimrc配置文件demo
    离开youcompleteme,vim的使用体验差很多。下面是vimrc文件中ycm相关配置demo。对于C/C++语言的语法补齐需要安装clangd.setnusetexpandtabsettabstop=4setshiftwidth=4setmouse=asetshell=bashsethlssetencoding=utf-8"YoucomPleteMe:语句补全插件",reftoh......
  • tkinter文件选择对话框
    tkinter文件选择对话框Tkinter文件选择对话框效果代码Tkinter文件选择对话框Tkinter提供以下文件选择对话框:tkinter.filedialog.askopenfilename():打开文件对话框,选择单个文件。tkinter.filedialog.askopenfilenames():打开文件对话框,选择多个文件。tkinter.filed......
  • Superset二次开发之基于GitLab OpenAPI 查询项目的提交记录中修改的文件
    背景:Superset二次开发,在处理版本升级的过程中,需要手动迁移代码,如何在Superset项目众多的文件中,记录修改过的文件,迁移代码时只需重点关注这些文件修改的内容即可,但是针对项目中多次的commit信息,每个commit又涉及不同的文件,如何快速梳理出这些二开工作中修改的文件,是我们......