Python:dcm转jpg脚本
import pydicom
from PIL import Image
import numpy as np
import os
def convert_dicom_to_jpeg(dicom_file_path, output_folder):
# 读取DICOM文件
dicom_file = pydicom.dcmread(dicom_file_path)
# 将DICOM数据转换为numpy数组
image_array = dicom_file.pixel_array
# 转换为8位图像
image_array = image_array - np.min(image_array)
image_array = image_array / np.max(image_array)
image_8bit = (image_array * 255).astype(np.uint8)
# 转换为PIL图像
image = Image.fromarray(image_8bit)
# 构建输出文件名
base_name = os.path.basename(dicom_file_path)
output_file_name = os.path.splitext(base_name)[0] + '.jpg'
output_path = os.path.join(output_folder, output_file_name)
# 保存为JPEG
image.save(output_path)
# 定义DICOM文件所在的文件夹和输出文件夹
dicom_folder = '/home/venus/Desktop/dicom'
output_folder = '/home/venus/Desktop/dicom'
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历文件夹中的所有DICOM文件
for file_name in os.listdir(dicom_folder):
if file_name.lower().endswith('.dcm'):
file_path = os.path.join(dicom_folder, file_name)
convert_dicom_to_jpeg(file_path, output_folder)
注意:以上代码来自ChatGPT4,我的问题是如何批量将dcm转换为jpg文件,ChatGPT为我提供了一段Python代码,并告诉我详细的使用方法,经过验证,毫无意外,代码完美完成了将目录中所有dcm文件转换为jpg格式。以下是ChatGPT的文本输出。