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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
python3.3实现乘法表示例
Feb 07 Python
python设置检查点简单实现代码
Jul 01 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 Python
Python基础之字符串操作常用函数集合
Feb 09 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 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查看session内容的函数
2008/08/27 PHP
PHP 时间日期操作实战
2011/08/26 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
国贸专业的职业规划书
2014/03/15 职场文书
婚前协议书范本
2014/04/15 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
技术负责人任命书
2014/06/05 职场文书
购房意向书
2014/08/30 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
小英雄雨来观后感
2015/06/09 职场文书
安全生产学习心得体会
2016/01/18 职场文书
排查MySQL生产环境索引没有效果
2022/04/11 MySQL