matlab学习笔记
以前以为会python就行,现在开始使用matlab,发现这哥们是真的好用,简直比python方便多了,功能多,命令也很直接,窗口简洁,很对我的胃口,现在开始记录一些我想记录的,后续慢慢更新添加
1、清除命令
clc 清除命令窗口; clear 清空变量; close 关闭当前打开的figure图形界面; clf 清除当前figure中内容;
2、对dicom文件读取和解析
点击查看代码
dcm=dicomread(filename)#读取像素信息
info=dicominfo(filename)#读取参数信息,info.~:显示文件所具有的信息,如info.WindowCenter显示窗位
figure;
subplot(121),imagesc(dcm);#显示图像
colorbar,title('原图')#加标题
colormap gray;#图像映射成黑白
3、将矩阵数据转换成txt文件保存
save filename.txt -ascii a #a是要保存的矩阵

若出现上述以指数形式保存的情况,则可用以下代码在转换一下
最后可显示为如下图
点击查看代码
fid=fopen('filename.txt','wt');#fopen-函数打开文件或获得有关打开文件的信息
[m,n]=size(matrix);
for i=1:1:m
for j=1:1:n
if j==n
fprintf(fid,'%g\n',matrix(i,j));#fprintf(fid, format, variables)-按指定的格式将变量的值输出到屏幕(无fid)或指定文件
else
fprintf(fid,'%g\t',matrix(i,j));#%d-整数,%e-实数(科学计算法形式),%f-实数(小数形式),%g-由系统自动选取上述两种格式之一,%s-输出字符串
end
end
end
fclose(fid);

4、如何由三维点云坐标生成相应的.ply文件
点击查看代码
clc; clear all; close all;
xyzPoints=load('xyzPoints');#注意,这里只能导入M*3或M*N*3形式的矩阵,M*N*3是被称为有组织的点云,前两个维度对应于RGBD或lidar等传感器的扫描顺序
ptCloud = pointCloud(xyzPoints);
pcshow(ptCloud);
pcwrite(ptCloud, 'xyz.ply');
浙公网安备 33010602011771号