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');
posted @ 2022-03-07 10:36  原来是只呆燕  阅读(103)  评论(0)    收藏  举报