首页 > 解决方案 > python循环遍历图像列表并将它们分组合并

问题描述

我有一个图像列表,这些图像的名称都是相同的,例如patch_i_j.jpg:其中ij以 2000 的步长增加。现在我想将具有某些“i”的图像合并到一个图像中。我想为所有的is 做这个。

我写了这段代码:

    import numpy as np
    from PIL import Image

    slide='patient_004_node_4'
    levelstr= 'level_2'

    list_im=np.load('D:/.../patch_maskimg_array.npy')
    dim_array='D:/.../dim_array.npy'
    savepath='D:/.../otsu_mask.png'


    mask_dim = np.load(dim_array).tolist()
    a=2000
    x=mask_dim[0]
    y=mask_dim[1]
    xnum=round(x/a)
    ynum=round(y/a)

    list_mat=np.array_split(list_im, xnum)



for i in range(0,y,a):
    k=round(y/a)
    imgs = [ Image.open(i) for i in list_mat[k:k+1,:]]
    img_merge = Image.fromarray( imgs)
    savepath='D:/.../otsu_mask_'+str(i)+'.png'
    img_merge.save( savepath )

在这部分imgs = [ Image.open(i) for kk in list_im]中,我怎么能说我只想合并来自某个索引范围的图像?

给我这个错误:

imgs = [ Image.open(i) for i in list_mat[k:k+1,:]]
TypeError: list indices must be integers or slices, not tuple

标签: pythonmerge

解决方案


推荐阅读