批量将每个文件夹里的DCM文件转换为JPG
时间: 2024-05-08 10:17:35 浏览: 254
可以使用Python中的pydicom库来批量将DCM文件转换为JPG。以下是一个简单的示例代码:
```python
import os
import pydicom
from PIL import Image
# 遍历所有文件夹
for root, dirs, files in os.walk('./'):
for file in files:
# 如果是DCM文件
if file.endswith('.dcm'):
# 读取DCM文件
dcm = pydicom.dcmread(os.path.join(root, file))
# 将像素数组转换为图像
img = Image.fromarray(dcm.pixel_array)
# 将图像保存为JPG文件
img.save(os.path.join(root, os.path.splitext(file)[0] + '.jpg'))
```
希望能帮到你!
相关问题
tag 批量修改dicom_图片(jpg,png,tif等)批量转dicom(dcm)格式
你可以使用 Python 中的 pydicom 库来批量修改 DICOM 图片的 tag,以及将其他图片格式转换为 DICOM 格式。以下是一个示例代码:
```python
import os
import pydicom
from PIL import Image
# 设置输入输出文件夹路径
input_folder = 'input_folder/'
output_folder = 'output_folder/'
# 获取输入文件夹中的所有文件
files = os.listdir(input_folder)
# 循环处理每个文件
for file in files:
# 如果是 DICOM 文件,则修改 tag
if file.endswith('.dcm'):
# 读取 DICOM 文件
ds = pydicom.dcmread(os.path.join(input_folder, file))
# 修改 tag
ds.PatientName = 'New Patient Name'
ds.save_as(os.path.join(output_folder, file))
# 如果是其他图片格式,则转换为 DICOM 格式
elif file.endswith('.jpg') or file.endswith('.png') or file.endswith('.tif'):
# 读取图片
img = Image.open(os.path.join(input_folder, file))
# 将图片转换为 DICOM 格式
ds = pydicom.Dataset()
ds.file_meta = pydicom.Dataset()
ds.file_meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian
ds.PixelData = img.tobytes()
ds.Rows, ds.Columns = img.size
ds.save_as(os.path.join(output_folder, file.replace('.jpg','.dcm').replace('.png','.dcm').replace('.tif','.dcm')))
```
在上面的代码中,我们首先设置了输入文件夹和输出文件夹的路径,然后使用 os.listdir() 函数获取输入文件夹中的所有文件。接下来,我们使用一个循环来处理每个文件,如果是 DICOM 文件,则使用 pydicom 库读取并修改 tag,然后保存为新的 DICOM 文件;如果是其他图片格式,则使用 PIL 库将其转换为 DICOM 格式,然后保存为新的 DICOM 文件。
需要注意的是,DICOM 文件中包含了很多重要的医学信息,如患者姓名、性别、年龄、影像采集时间等,修改这些 tag 应该非常谨慎,确保不会影响到医学诊断结果。
阅读全文
相关推荐





