使用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将html转成PDF的实现代码(包含中文)
Mar 04 Python
Python使用py2exe打包程序介绍
Nov 20 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
Python日期时间Time模块实例详解
Apr 15 Python
Python数据类型之Tuple元组实例详解
May 08 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 Python
Python爬虫回测股票的实例讲解
Jan 22 Python
python入门之算法学习
Apr 22 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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编码规范之注释和文件结构说明
2010/07/09 PHP
浅谈PHP中的
2016/04/23 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
google地图的路线实现代码
2009/08/20 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
JS数组方法join()用法实例分析
2020/01/18 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
活动总结的格式
2014/05/07 职场文书
2014年体育教学工作总结
2014/12/09 职场文书