一、工具包准备

1. 下载 Tools for NIfTI and ANALYZE image

(https://ww2.mathworks.cn/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image?s_tid=srchtitle)

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:n3Image = 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:n3Image = 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)

参考

https://www.cnblogs.com/glam/p/13712362.html

https://blog.csdn.net/wrj199421/article/details/84645844

使用matlab处理.nii图像相关推荐

  1. MATLAB处理.nii格式文件(.nii转换为.jpg格式)

    1. NIFTI出现原因 .nii文件是NIFTI格式的文件,出现的原因是原来一种图像格式是ANALYZE 7.5 format,但是这个图像格式缺少一些信息,比如没有方向信息,病人的左右方位等,如果 ...

  2. matlab 多个波段,MatLab读取ENVI图像统计多波段图像信息

    在ENVI统计遥感多波段图像中每个波段的均值.方差.最大值.最小值是比较容易办到的,但是如果要处理多批的数据就没有那么方便了,这里转载一个MatLab读取ENVI图像(img+hdr)的程序,并且计算 ...

  3. matlab中的图像类型

    MATLAB中的图像类型 在MATLAB中数组是最基本的数据结构,大部分图像用二维 数组即矩阵表示,矩阵中的一个元素对应一个像素.例如,一个由500行600列不同颜色点组成的图像可以用500*600的 ...

  4. Matlab|绘制函数图像

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 一.绘制图像的常用 ...

  5. MATLAB小波变换的图像融合系统[完美运行,GUI界面,详细教程,万字文稿]

    课题题目 基于MATLAB小波变换的图像融合系统 GUI框架链接:戳这里 课题背景介绍 数字图像融合是一项最新发展起来的应用,对于数字图像处理和数字图像分析起着非常重要的重要.虽然现阶段,对于图像处理 ...

  6. matlab画不定积分图像实例,matlab怎么画函数图像,原来是这样的

    函数想必大家都不陌生,有时候我们需要画出函数的图形,但是复杂的函数我们画出来花费时间太多,下面我来教大家用matlab画函数图像. 工具/材料 电脑 matlab软件 操作方法 01 先下载安装这个软 ...

  7. MATLAB#183;提取图像中多个目标

    基于matlab工具箱提取图像中的多目标特征(代码如下): 代码前面部分为提取图像的边界信息,调用了后面的遍历函数Pixel_Search,函数实现方法见后~ %%ROI Testing close ...

  8. matlab图片surf图,用matlab实现SURF图像配准 算法

    [实例简介] 一种使用用matlab实现SURF图像配准 算法 [实例截图] [核心代码] 55c5c3ca-3c4f-4857-a0b1-100a10233884 └── surf ├── exam ...

  9. MATLAB计算杨氏模量,基于MATLAB处理动态图像的杨氏模量测量方法.doc

    7A版优质实用文档 PAGE PAGE 16 7A版优质实用文档 基于MATLAB处理动态图像的杨氏模量测 量方法 黄浩钊1,陈玥琦2,李家卉3 第三军医大学学员13营,重庆,400038:2.第三军 ...

最新文章

  1. kvm--virsh命令行下管理虚拟机
  2. DiffServ实现技术
  3. HDU-1069-Monkey and Banana
  4. Hadoop 2.2.0 集群搭建
  5. httpclient 设置短连接_HTTP长连接、短连接使用及测试
  6. Android之旅---广播(BroadCast)
  7. php打印 二维数组,PHP中遍历二维数组_以不同形式的输出操作实例
  8. 使用RichTextBox控件实现系统剪切板功能
  9. IntelliJ IDEA关于logger的live template配置
  10. 【珍藏】 2012.NET开发必看资料53个+经典源码77个—下载目录
  11. 如何让debuge的dll名字改变_杨石头:如何给品牌取个好名字?
  12. jquery在IE8上使用find的问题
  13. 世界第一个聊天机器人源代码_这是世界上第一个“活着”的机器人
  14. SpringBoot中前后端数据交互
  15. C语言基础入门,编程的第一步
  16. 如何使用条形码字体在Crystal Report中创建代码39?
  17. 苹果手机用户流失严重,竟是因为这个原因?
  18. C/C++使用ODBC连接MSSQL数据库
  19. python 编写获取阿里巴巴行业分类数据代码
  20. 字符串数据处理 arduino

热门文章

  1. 电竞英雄联盟数据API接口 - 【联赛列表】API调用示例代码
  2. 【Linux高级驱动】网卡驱动分析
  3. Error creating bean with name 'transactionManager' defined i
  4. 用Java写出敬业福小程序:人人扫出敬业福
  5. commit分拆多个 git_Git拆分commit提交
  6. python 文本词汇,句子校正 autocorrect库的使用
  7. 是时候为各式设备适配完善的输入支持了
  8. PHP 门面设计模式
  9. 2022年10月16日 记
  10. 大数据学习笔记-------------------(17_3)