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实现的视频播放器功能完整示例
Feb 01 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
Python接口测试结果集实现封装比较
May 01 Python
python2.7使用scapy发送syn实例
May 05 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
pycharm debug 断点调试心得分享
Apr 16 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
jQuery load方法用法集锦
2011/12/06 Javascript
js单例模式的两种方案
2013/10/22 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
python字符串排序方法
2014/08/29 Python
Sanic框架配置操作分析
2018/07/17 Python
python中的print()输出
2019/04/12 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
大专生找工作自荐书
2014/06/10 职场文书
党在我心中演讲稿
2014/09/02 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
2014年店长工作总结
2014/11/17 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang