使用ITK-SNAP进行抠图操作并保存mask的实例


Posted in Python onJuly 01, 2020

问题描述:

想要去掉图像背景,只保留中心部分

目标:

1.利用ITK-SNAP制作二值化标签(即mask)

2.利用软件ITK-SNAP把一幅图像中自己想要的部分抠出来

步骤:

1.保存mask

打开ITK-SNAP ,这是一款可以方便进行勾画操作,制作标签的软件

1.点击勾画按钮

使用ITK-SNAP进行抠图操作并保存mask的实例

2.在图像中选点进行勾画

使用ITK-SNAP进行抠图操作并保存mask的实例

3.勾画完成后点击accept,可以看到所勾画的区域被标签颜色所覆盖

使用ITK-SNAP进行抠图操作并保存mask的实例

4.滚动鼠标滚轮到下一层(对于3D图像),继续勾画

tips:点击"paste last polygon"按钮使用上一层的勾画结果,拖动勾画框可以进行修改

使用ITK-SNAP进行抠图操作并保存mask的实例

5.勾画完成后按ctrl+S保存图像,此时所保存的即为二值化的mask(标签)

(背景部分是0,高亮区域是设定的label值,这里为1)

使用ITK-SNAP进行抠图操作并保存mask的实例

2.提取目标区域(抠图)

思想:将保存的二值化mask与原图像做点乘,就可以将去除无关背景,得到中心区域的目标图像

方法:(对于nii格式的图像)

import nibabel as nib
import numpy as np

index = list(['1','14','4','5','7','70','148'])#一共7张待处理图像
for i in range (len(index)):
 #图像位置
 nii_file = '/home/YinXiaolong/1909/MRBrainS18_data/training_corrected_selected/'+index[i]+'/data/reg_IR.nii.gz'
 nii_file2 = '/home/YinXiaolong/1910/mask_multiple/mask/' +'mask'+ index[i]+ '.nii.gz'
 #载入图像
 img = nib.load(nii_file).get_fdata()
 img2 = nib.load(nii_file2).get_fdata()
 #两幅图像相乘
 img3 = np.multiply(img,img2)
 #将矩阵转换为nii
 array_img = nib.Nifti1Image(img3,None)
 #保存并导出
 nib.save(array_img, 'reg_IR'+'_'+index[i]+'.nii')
 print('img'+index[i]+'Done')

对于一般格式图像利用numpy中的img = np.multiply(img1,img2)进行两幅图像的点乘即可。

以上这篇使用ITK-SNAP进行抠图操作并保存mask的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 字符串中的字符倒转
Sep 06 Python
python实现清屏的方法
Apr 30 Python
初步剖析C语言编程中的结构体
Jan 16 Python
举例讲解Python面向对象编程中类的继承
Jun 17 Python
深入理解Python装饰器
Jul 27 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
Python3之手动创建迭代器的实例代码
May 22 Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 Python
Python坐标线性插值应用实现
Nov 13 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 #Python
.img/.hdr格式转.nii格式的操作
Jul 01 #Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 #Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 #Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 #Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 #Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 #Python
You might like
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php判断目录存在的简单方法
2019/09/26 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
jquery 手势密码插件
2017/03/17 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python实现控制台输入密码的方法
2015/05/29 Python
python中管道用法入门实例
2015/06/04 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
Python 实现一个简单的web服务器
2021/01/03 Python
应届生自我鉴定
2013/12/11 职场文书
文明餐桌活动方案
2014/02/11 职场文书
出国签证在职证明
2014/09/20 职场文书
2015年社会实践个人总结
2015/03/06 职场文书