【问题标题】:How to convert nii images to 2D image?如何将nii图像转换为2D图像?
【发布时间】:2021-09-15 19:42:24
【问题描述】:

我有一堆 nii 格式的图像(100 个切片),我想将它们转换为 2D png 格式,以便将它们提供给 2D 模型。

import nibabel as nib
# Read file
scan = nib.load('/path/to/stackOfimages.nii.gz')
# Get raw data
scan = scan.get_fdata()
print(scan.shape)
(128, 128, 100)

图像是 2D png 格式,我将其转换为 nii.gz 以制作一张 3D 图像,现在我想将它们转换回 png 格式。因为我的模型是 2D 模型,所以我想为模型提供一堆切片(每个人 100 个切片)而不是一次一张图像。如下图所示

【问题讨论】:

    标签: python image


    【解决方案1】:
    from PIL import Image
    ...
    for plane in range(scan.shape[2]):
        p = scan[:,:,plane].astype(np.uint8)
        img = Image.fromarray(p)
        img.save( f'plane{plane}.png' )
    

    【讨论】:

    • 感谢蒂姆,但单独保存每张图像我想将扫描内的所有切片转换为一张图像
    • 你打算如何组合切片?你没有指定。
    • 这没有帮助。 CT 扫描由构成 3D 表示的一堆 2D 图像组成,但您不能将 3D 信息存储在 PNG 中。这是不可能的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2018-03-24
    • 2020-11-24
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多