Matlab xyz 转 Meshlab ply格式

function [ ] = write3ply( pts3d,r,g,b )
    fileID = fopen('result.ply','w');
    fprintf(fileID,'ply\n');
    fprintf(fileID,'format ascii 1.0\n');
    fprintf(fileID,'element vertex %i\n',size(pts3d,1));
    fprintf(fileID,'property float x\n');
    fprintf(fileID,'property float y\n');
    fprintf(fileID,'property float z\n');
    fprintf(fileID,'property uchar red\n');
    fprintf(fileID,'property uchar green\n');
    fprintf(fileID,'property uchar blue\n');
    fprintf(fileID,'end_header\n');
    for i=1:size(pts3d,1)
        fprintf(fileID,'%f %f %f %i %i %i\n',pts3d(i,1),pts3d(i,2),pts3d(i,3),r,g,b);
    end
    fclose(fileID);
end


例:
>> size(pts3d)

ans =

        3586           3

>> write3ply(pts3d,255,255,255);


Aucun commentaire:

Enregistrer un commentaire