一、工具包准备
1. 下载 Tools for NIfTI and ANALYZE image
2. 解压后整个移动到文件夹matlab->toolbox中
3. 添加路径
4.更新工具包缓存
二、读取.nii图像
使用load_nii
nii = load_nii( 'Brats17_2013_2_1_t1.nii.gz' ); % 装载.nii数据
img = nii.img; %文件包含img和head,img是图像数据
因为nii一般包含多个slice,第i个slice的读取和显示:
Image = img(:,:,i);
imshow(Image,[]);
三、保存.nii图像为其他格式
根据imwrite的文档可知,不同格式对应要求的数据格式也不相同:
如果第i个slice的图片Image格式是int16,需要修改成符合要求的可imwrite的格式,即修改灰度值范围为0-255:
Image = mat2gray(Image);
再保存成任意希望的格式即可:
imwrite(Image,[savepath,int2str(i),'.bmp']);
保存当前.nii图像中所有的slice:
[n1,n2,n3] = size(img);
for i = 1:n3
Image = img(:,:,i);
%figure(i);
%imshow(Image,[]);
Image = mat2gray(Image);
imwrite(Image,[savepath,int2str(i),'.bmp']);
end
对于groundtruth,是标记好的图像,一般不改变其灰度
可能需要改变图像格式从int16-int16:
[n1,n2,n3] = size(img);
for i = 1:n3
Image = img(:,:,i);
X = Image(1:end);
Y = typecast(X,'uint16');
[mm,nn] = size(Image);
Image = reshape(Y,mm,nn);
imwrite(Image,[savepath,int2str(i),'.png']);
end
可能需要改变图像格式为uint8:
Image = uint8(Image)