python 将dicom图片转换成jpg图片的实例


Posted in Python onJanuary 13, 2020

主要原理:调整dicom的窗宽,使之各个像素点上的灰度值缩放至[0,255]范围内。

使用到的python库:SimpleITK

下面是一个将dicom(.dcm)图片转换成jpg图片的demo:

import SimpleITK as sitk
import numpy as np
import cv2

def convert_from_dicom_to_jpg(img,low_window,high_window,save_path):
  lungwin = np.array([low_window*1.,high_window*1.])
  newimg = (img-lungwin[0])/(lungwin[1]-lungwin[0])  #归一化
  newimg = (newimg*255).astype('uint8')        #将像素值扩展到[0,255]
  cv2.imwrite(save_path, newimg, [int(cv2.IMWRITE_JPEG_QUALITY), 100])

if __name__ == '__main__':

  # 下面是将对应的dicom格式的图片转成jpg
  dcm_image_path = '/DICOM_image/lung001.dcm'    #读取dicom文件
  output_jpg_path = 'JPG_image/lung001.jpg'
  ds_array = sitk.ReadImage(dcm_image_path)     #读取dicom文件的相关信息
  img_array = sitk.GetArrayFromImage(ds_array)   #获取array
  # SimpleITK读取的图像数据的坐标顺序为zyx,即从多少张切片到单张切片的宽和高,此处我们读取单张,因此img_array的shape
  #类似于 (1,height,width)的形式
  shape = img_array.shape
  img_array = np.reshape(img_array, (shape[1], shape[2])) #获取array中的height和width
  high = np.max(img_array)
  low = np.min(img_array)
  convert_from_dicom_to_jpg(img_array, low, high, output_jpg_path)  #调用函数,转换成jpg文件并保存到对应的路径
  print('FINISHED')

以上这篇python 将dicom图片转换成jpg图片的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 Python
用Python解析XML的几种常见方法的介绍
Apr 09 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
python 猴子补丁(monkey patch)
Jun 26 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
python爬虫请求头的使用
Dec 01 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 #Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 #Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 #Python
如何基于Python + requests实现发送HTTP请求
Jan 13 #Python
python+tifffile之tiff文件读写方式
Jan 13 #Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 #Python
手动安装python3.6的操作过程详解
Jan 13 #Python
You might like
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
文字幻灯片
2006/06/26 Javascript
使用Modello编写JavaScript类
2006/12/22 Javascript
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
竞聘演讲稿范文
2014/01/12 职场文书
创新社会管理心得体会
2014/09/12 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
首次购房证明
2015/06/19 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏