• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: ply  3D  matlab  

资源简介

matlab 读取三维文档,.ply格式。 包括点、三角面和颜色。

资源截图

代码片段和文件信息

function [triMesh h] = myPLYread(FILENAME FLAG)

% input
% FILENAME: file name of .ply
% FLAG: 0 - default: no drawing
%       1 or else: 

% output
%       triMesh: a struct that is similar with class ptCloud 
%       h: handle of trisurf (patch)
%
% author/copyright Matthew
% date: 2015-10-05

%% input checking and initialize variables
if nargin == 0
    error(‘Error! Please input the file name.‘);
elseif nargin == 1
    FLAG = 0;
end

nFace = [];
nHeader = []; % number of head lines

% struct triMesh similar with ptCloud
triMesh.Location = [];
triMesh.Color = [];
triMesh.Normal = [];
triMesh.Intensity = [];
triMesh.Face = [];
triMesh.cntVetext = [];
triMesh.cntFace = [];

%% import vertex and colors (texture)
ptCloud = pcread(FILENAME); % pcread can import vertex and colors
triMesh.Location = ptCloud.Location;
triMesh.Color = ptCloud.Color;
triMesh.Normal = ptCloud.Normal;
triMesh.Intensity = ptCloud.Intensity;
triMesh.cntVetext = ptCloud.Count;

clear ptCloud;
%% import faces
fid = fopen(FILENAME‘rt‘);

for i = 1:20 
    tline = fgetl(fid);
    k1 = strfind(tline ‘element face‘);
    k2 = strfind(tline ‘end_header‘);

    % get the number of faces
    if k1 ==1
        m= length(tline);
        nFace = str2num(tline(

评论

共有 条评论