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机器学习之决策树算法
Dec 22 Python
Python字典及字典基本操作方法详解
Jan 30 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
Python实现的txt文件去重功能示例
Jul 07 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
Python对列表的操作知识点详解
Aug 20 Python
python动态文本进度条的实例代码
Jan 22 Python
深入了解Python 变量作用域
Jul 24 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
python运行脚本文件的三种方法实例
Jun 25 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基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
js 获取、清空input type="file"的值(示例代码)
2013/12/24 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Django自定义用户认证示例详解
2018/03/14 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
python的pip有什么用
2020/06/17 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
西安当代医院管理研究院笔试题
2015/12/11 面试题
物理教师自荐信范文
2013/12/28 职场文书
班主任评语大全
2014/04/26 职场文书
服务标语口号
2014/07/01 职场文书
九一八事变演讲稿
2014/09/05 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
Python中第三方库Faker的使用详解
2022/04/02 Python
PyTorch中permute的使用方法
2022/04/26 Python