利用matlab将图像矩阵转换为Nifti(.nii)格式的文件并保存至本地

问题描述:已知图像矩阵,想要输出该矩阵为.nii(nifty)格式的图像并保存.
解决办法:利用matlab进行编程,载入nii格式文件,然后更改头文件并写出,最后导出目标文件.
注:需要在matlab下加载Nifti程序包,下载地址及使用方法:Nifti程序包

程序:

 %读取nii文件
 
 nii=load_nii('xxx.nii'); %载入nii文件
 matrix_img = nii.img; %读取nii文件下的img矩阵
    

%将生成的ADC图导出为nii格式的图像

file1='xxx.nii';%导入一张与目标图像维度相同的nii图像
%这一步的目的是为了方便导出目标nii图像,导入一张已有的图像之后,我们只用更改像素矩阵和头文件名即可

v=spm_vol(file1);%v代表头文件

v.fname='test.nii';%更改输出文件名,否则会覆盖原文件

%v.dt=[16 0]; %将显示精度扩大到小数点后16位,当目标图像显示精度需要调整时可更改此数值

spm_write_vol(v,matrixD); %将更改过显示精度的头文件写入矩阵中

生成的.nii格式的图像就保存在了matlab当前工作路径中,保存文件名为"test.nii"

猜你喜欢

转载自blog.csdn.net/DoReAGON/article/details/85149351
今日推荐