我正在尝试使用 PIL 将一张照片分成多 block 。
def crop(Path,input,height,width,i,k,x,y,page):
im = Image.open(input)
imgwidth = im.size[0]
imgheight = im.size[1]
for i in range(0,imgheight-height/2,height-2):
print i
for j in range(0,imgwidth-width/2,width-2):
print j
box = (j, i, j+width, i+height)
a = im.crop(box)
a.save(os.path.join(Path,"PNG","%s" % page,"IMG-%s.png" % k))
k +=1
但似乎没有效果。它会分割照片,但分割方式不准确(您可以尝试)。
最佳答案
将图像拆分为 MxN 像素的图 block (假设 im 是 numpy.ndarray):
tiles = [im[x:x+M,y:y+N] for x in range(0,im.shape[0],M) for y in range(0,im.shape[1],N)]
如果你想将图像分成四 block :
M = im.shape[0]//2
N = im.shape[1]//2
tiles[0] 持有左上角的瓷砖
关于python - 如何在 Python 中将图像分割成多 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953373/