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操作CouchDB数据库简单示例
Mar 10 Python
Python之os操作方法(详解)
Jun 15 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 Python
python实现连续图文识别
Dec 18 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
django用户登录验证的完整示例代码
Jul 21 Python
python批量解压zip文件的方法
Aug 20 Python
在Python中预先初始化列表内容和长度的实现
Nov 28 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
Python对excel的基本操作方法
Feb 18 Python
用Python生成会跳舞的美女
Jan 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
ajax php 实现写入数据库
2009/09/02 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
js常见表单应用技巧
2008/01/09 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
服装设计行业个人的自我评价
2013/12/20 职场文书
销售会计岗位职责
2014/03/15 职场文书
活动宣传策划方案
2014/05/23 职场文书
毕业生找工作求职信
2014/08/05 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
婚礼父母答谢词
2015/01/04 职场文书
会议主持词开场白
2015/05/28 职场文书
重阳节简报
2015/07/20 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL