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实现全角半角转换的方法
Aug 18 Python
python实现模拟按键,自动翻页看u17漫画
Mar 17 Python
Python使用try except处理程序异常的三种常用方法分析
Sep 05 Python
python try except 捕获所有异常的实例
Oct 18 Python
python实现扫描局域网指定网段ip的方法
Apr 16 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
Python生成器generator原理及用法解析
Jul 20 Python
利用Python实现Picgo图床工具
Nov 23 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实现简单的上传进度条
2015/11/17 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
预加载css或javascript的js代码
2010/04/23 Javascript
Jquery ui css framework
2010/06/28 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
python实现从字典中删除元素的方法
2015/05/04 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
python实现邮件发送功能
2019/08/10 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
你对IPv6了解程度
2016/02/09 面试题
教你怎样写好自我评价
2013/10/05 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
商场中秋节活动方案
2014/02/07 职场文书
幼儿园家长寄语
2014/04/02 职场文书
新教师岗前培训方案
2014/06/05 职场文书
先进教师事迹材料
2014/12/16 职场文书
爱晚亭导游词
2015/02/09 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书