MATLAB批量处理.nii文件----批量.nii转为jpg格式

这篇博客介绍了NIFTI格式的由来,以及在医学图像处理中遇到的问题。作者提供了一段MATLAB代码,用于批量将.nii格式的医学图像转换为.jpg格式,大大提高了工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在粗略给大家一点建议

 1. NIFTI出现原因
.nii文件是NIFTI格式的文件,出现的原因是原来一种图像格式是ANALYZE 7.5 format,但是这个图像格式缺少一些信息,比如没有方向信息,病人的左右方位等,如果需要包括额外的信息,就需要一个额外的文件,比如ANALYZE7.5就需要一对<.hdr, .img>文件来保存图像的完整信息。因此,解决这个问题Data Format Working Group (DFWG) 将图像格式完整的定义为NIFTI(Neuroimaging Informatics Technology Initiative)格式。
2.在我们医学图像中时常要将.nii文件转换为其他格式(例如转换为.jpg格式)

由于要处理的图片很多,但是要我们一张张去转换非常麻烦,于是我在这给大家提供一种批量转换的方法:

在当前目录进行代码运行:

close all; %关闭所有已经打开的图像窗口
clear; %清空工作区数据
clc; %清空命令行窗口
% 读取所有.nii文件
file = dir('*.nii');
% 获取文件个数
len = length(file);
for i = 1:len
    % 获取nii文件名
    nii_file = file(i).name;
    % 加载nii文件
    nii = load_nii(nii_file);
    % 存储img部分
    img = nii.img;%文件包含img和head,img是图像数据
    
    Image = img(:,:,1);
    %如果第i个slice的图片Image格式是int16,需要修改成符合要求的可imwrite的格式,即修改灰度值范围为0-255
    Image = mat2gray(Image);
    % 定义jpg文件名
    img_name = strcat('C:\Users\HUI\Desktop\医学图像处理\课程设计\tupian\Image_bmode\img_', int2str(i-1), '.jpg');
    imwrite(Image,img_name)  %
    figure(i)
    imshow(img(:,:,1),[]), title(i)
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值