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端口扫描系统实现方法
Nov 19 Python
Python中的自省(反射)详解
Jun 02 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
详解Python中where()函数的用法
Mar 27 Python
分析python请求数据
Aug 19 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 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提取中文首字母
2008/04/09 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
js实现单一html页面两套css切换代码
2013/04/11 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
使用python加密自己的密码
2015/08/04 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python装饰器使用实例详解
2019/12/14 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
事业单位鉴定材料
2014/05/25 职场文书
民生工作实施方案
2014/05/31 职场文书
自荐信模板大全
2015/03/27 职场文书
python 爬取天气网卫星图片
2021/06/07 Python