png图像格式转mha

环境安装依赖

pip install numpy Pillow SimpleITK
import os
import sys
import numpy as np
from PIL import Image
import SimpleITK as sitk

def convert_images(input_dir, output_dir):
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    for filename in os.listdir(input_dir):
        if filename.endswith(".png"):
            input_path = os.path.join(input_dir, filename)
            output_path = os.path.join(output_dir, os.path.splitext(filename)[0] + ".mha")

            # 使用Pillow库读取PNG图像
            img = Image.open(input_path)
            # 将图像转换为NumPy数组
            img_array = np.array(img)

            # 将NumPy数组转换为SimpleITK图像
            sitk_image = sitk.GetImageFromArray(img_array)
            # 保存MHA格式的图像
            sitk.WriteImage(sitk_image, output_path)
            print(f"Converted {input_path} to {output_path}")

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("Usage: python png_to_mha.py <input_directory> <output_directory>")
        sys.exit(1)

    input_dir = sys.argv[1]
    output_dir = sys.argv[2]
    convert_images(input_dir, output_dir)

启动指令

将上述代码保存至png_to_mha.py,下面的代码将读取/input/images下的png图片,转换成mha并输出到/output/images目录

python png_to_mha.py /input/images /output/images

注意事项

仅针对二维png转mha

猜你喜欢

转载自blog.csdn.net/crazyjinks/article/details/131117475