使用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数据类型详解(一)字符串
May 08 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
一行代码python实现文件共享服务器
Apr 22 Python
Python django中如何使用restful框架
Jun 23 Python
Python+tkinter实现高清图片保存
Mar 13 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
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
常用jQuery代码分享
2015/07/14 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python创建关联数组(字典)的方法
2015/05/04 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python中property属性实例解析
2018/02/10 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
无工作经验者个人求职信范文
2013/12/22 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
统招统分证明
2015/06/23 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
表扬信范文
2019/04/22 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript