python DCM转png
时间: 2025-07-22 14:56:48 浏览: 2
### 将DCM文件转换为PNG格式的方法
以下是通过Python将DCM文件转换为PNG格式的具体方法和代码示例:
#### 方法说明
为了完成这一任务,通常会使用`pydicom`库来读取DICOM (DCM) 文件中的图像数据,并利用`Pillow`库将其保存为PNG格式。这种方法的核心在于解析DICOM文件的像素数组并将其转换为标准图像格式。
#### 实现代码
以下是一个完整的代码示例,展示如何将单个DCM文件转换为PNG文件[^1]:
```python
import pydicom
from PIL import Image
# 定义输入DCM文件路径
dcm_file_path = 'path_to_your_dicom_file.dcm'
# 使用pydicom读取DCM文件
ds = pydicom.dcmread(dcm_file_path)
# 提取像素数据
pixel_data = ds.pixel_array
# 转换像素数据为PIL图像对象
image = Image.fromarray(pixel_data)
# 定义输出PNG文件路径
output_image_path = 'output_image.png'
# 保存图像为PNG格式
image.save(output_image_path)
print(f'DICOM image saved as PNG: {output_image_path}')
```
如果需要批量处理多个DCM文件,则可以扩展上述逻辑,遍历指定目录下的所有DCM文件并将它们逐一转换为PNG文件[^2]。例如:
```python
import os
import pydicom
from PIL import Image
# 输入DCM文件夹路径
input_folder = 'path_to_dcm_files'
# 输出PNG文件夹路径
output_folder = 'path_to_save_png_files'
# 如果输出文件夹不存在,则创建它
os.makedirs(output_folder, exist_ok=True)
# 遍历输入文件夹中的所有DCM文件
for filename in os.listdir(input_folder):
if filename.endswith('.dcm'):
dcm_file_path = os.path.join(input_folder, filename)
# 读取DCM文件
ds = pydicom.dcmread(dcm_file_path)
# 获取像素数据
pixel_data = ds.pixel_array
# 创建PIL图像对象
image = Image.fromarray(pixel_data)
# 构建输出PNG文件名
png_filename = os.path.splitext(filename)[0] + '.png'
output_image_path = os.path.join(output_folder, png_filename)
# 保存为PNG
image.save(output_image_path)
print(f'Saved {filename} as {png_filename}')
print('All DICOM files have been converted to PNG.')
```
#### 注意事项
- 在执行以上代码前,请确保已安装必要的依赖库:`pydicom` 和 `Pillow`。可以通过运行以下命令安装这些库:
```bash
pip install pydicom pillow
```
- 若需支持更多图像格式(如JPEG),只需修改保存路径中的文件扩展名即可[^3]。
- 对于更复杂的场景(如多线程处理或特定命名规则),可以根据需求进一步优化代码结构[^4]。
---
阅读全文
相关推荐
















