此代码用于将一系列图像合并为一个大图像。你知道吗
masks=glob(temp_path+'*.jpg')
mm=[]
img_dim=32
w=int(prex[5])
h=int(prex[4])
target = Image.new('RGB',(w*img_dim,h*img_dim))
for i,p in enumerate(masks):
print(i)
mask=Image.open(p)
mask=mask.resize((32,32))
x=int(i%w)
y=int(i/w)
target.paste(mask,(x*img_dim,y*img_dim,(x+1)*img_dim,(y+1)*img_dim))
target.save('F:/pa_slice/output/0/'+name+'_'+sub_name+'_mask.jpg')
图像的名称从4M01_00_mask.jpg
到4M15_50_mask.jpg
。奇怪的是,当我运行这段代码时,它会抛出OS Error
at target.save()
函数。
也就是说,如果我多次运行此代码,它将在不同的图像处停止。如果幸运的话,它甚至可以运行而不出错:)下面是常见的错误:
OSError: [Errno 22] Invalid argument: 'F:/pa_slice/output/0/4M15_0_mask.jpg'
我真的不知道该怎么办
好吧,我把
target.save()
函数从循环函数中去掉,这就行了。可能是频繁的I/O操作导致了问题。你知道吗相关问题 更多 >
编程相关推荐