如何读取 nib.load() 函数的图像以便调整大小?

How to read images for nib.load() function so they can be resized?

尝试设计一个 FCNN 用于 MR 图像的肾脏分割。将 40 张图像 (DICOM) 及其相关的基本事实标签 (PNG) 安装到我正在构建架构的 Colab 笔记本的 Google 驱动器上。

对于这 40 张图像及其标签,尝试使用下面的代码将它们全部调整为 256 x 256(这实际上是标签调整大小的副本)。收到两个代码块的 "list index out of range",但我知道 range() 调用的 "n-1" 规则,因此它必须是下面列出的 glob 代码块。


from glob import glob
img_path = glob.glob("/content/drive/My Drive/CHOAS_Kidney_Labels/Training_Images/IMG*.dcm")
mask_path = glob.glob("/content/drive/My Drive/CHOAS_Kidney_Labels/Ground_Truth_Training/IMG*.png")
AttributeError: 'function' object has no attribute 'glob'

images=[]
a=[]
for i in range(0,39):
    a=nib.load(img_path[i])
    a=a.get_data()
    print("image (%d) loaded"%(i))
    a=resize(a,(a.shape[0],256,256))
    a=a[:,:,:]
    for j in range(a.shape[0]):
        images.append((a[j,:,:]))
IndexError: list index out of range

因为您使用了 from glob import glob,所以不需要 glob.glob。您应该只调用 glob 而不使用命名空间 glob。

你的第二个错误是因为 img_path 是空的。你最好做这样的事情:

for name in img_path:
    a=nib.load(name)