matlab绘制三维点云和点云凸包

matlab绘制三维点云和点云凸包

效果展示

matlab绘制三维点云和点云凸包_第1张图片

1.在matlab命令窗口输入guide打开matlab的ui开发界面,按照下图的样式绘制界面。

matlab绘制三维点云和点云凸包_第2张图片

2. 在GUIDE中鼠标右键点击选择素材文件夹按键,选择查看回调=>callback编辑回调函数。

function pushbutton1_Callback(hObject, eventdata, handles)
binPath = uigetdir();
fileName = dir(fullfile(binPath,'*.ply'));
set(handles.edit1,'String',binPath);
[m,~] = size(fileName);
for i = 1:m
    listbox(i) = string(fileName(i).name);
end
set(handles.listbox1,'string',listbox);

3. 在GUIDE中鼠标右键点击绘制点云按键,选择查看回调->callback编辑回调函数。

function pushbutton2_Callback(hObject, eventdata, handles)
Path = get(handles.edit1,'string');
num = get(handles.listbox1,'value');
filename = get(handles.listbox1,'string');
f = fullfile(Path,filename(num));
fid = pcread(string(f));
axes(handles.axes);
cla reset;
pcshow(fid);
hold on;grid on;
pause(1);

4. 在GUIDE中鼠标右键点击绘制凸包,编辑回调函数

function pushbutton3_Callback(hObject, eventdata, handles)
Path = get(handles.edit1,'string');
num = get(handles.listbox1,'value');

filename = get(handles.listbox1,'string');
f = fullfile(Path,filename(num));
fid = pcread(string(f));
a = double(fid.Location);
k = convhull(a,'simplify', true);
axes(handles.axes);
trimesh(k,a(:,1),a(:,2),a(:,3),'FaceAlpha',0.5);

5. 操作流程

  1. 点击选择素材文件夹按键,选择素材所在的文件夹。
  2. 在第一个文本框里会显示出所选择的文件夹路径。
  3. 在下面的列表框中会显示所选择文件夹下的所有后缀为ply的文件。
  4. 点击需要绘图的点云数据。
  5. 点击绘制点云,将绘制点云图像。
  6. 点击绘制凸包,将绘制所选择的文件凸包。

6.点击下载免费

你可能感兴趣的:(matlab,matlab,开发语言)