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 19 Python
python中类变量与成员变量的使用注意点总结
Apr 29 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
python对视频画框标记后保存的方法
Dec 07 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
Python bytes string相互转换过程解析
Mar 05 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
一篇文章带你搞懂Python类的相关知识
May 20 Python
Python自动化爬取天眼查数据的实现
Jun 15 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
简单了解Python中的几种函数
2017/11/03 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
Python for循环生成列表的实例
2018/06/15 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
小平您好观后感
2015/06/09 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android