Python:dcm转jpg脚本

发布时间 2023-11-15 17:42:50作者: 祁连山
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的文本输出。