声明:关于题目所述的解决办法,百度一搜,无论各种博客也好,还是一些别的什么网站给出的办法,无外乎那几种代码形式,也不知道最初的那段代码出自于谁之手,反正就是搬来搬去,抄来抄去,而且有几种版本基本不能用,本人亲测过,而且有些一看,乱七八槽,根本就是复制粘贴过来的,连排版都没有改,无所谓,就是这个环境
本篇文章所列方法,也是来源于以上搜索到的一种版本,本人稍作修改,可以用了,并且成功转换,在此向最开始奉献那段代码的博主表示感谢,现在根本分不清最初是出自于谁之手
其实解决题目所述问题,无非解决2件事
- 第一个:将dicom格式的图像的像素值提取出来,因为你无论是啥格式,只要是一张图片,都有像素值吧,dicom格式与传统图片像素值不同之处就在于,dicom是-4000-4000(这个也来源于网络,正确与否有待验证),常规图像是0-255吧
- 第二个:将提取出来的像素值转换到0-255之间,再调用指令保存成jpg形式即可
少废话,上代码:
用到的相关函数库,没安的自己去安装
import pydicom # 用来解析dicom格式图像的像素值
import numpy as np
import cv2 # 用于保存图片
import os
全部代码
# 定义dicom to jpg转换函数
def convert_from_dicom_to_jpg(img, low_window, high_window, save_path