多语言展示
当前在线:894今日阅读:138今日分享:33

用python裁剪图片

给出下图所示的图片,目标是,把每一个小格子,裁剪为一个单独的图片。这样,就可以把图片裁剪为81个小图片。
工具/原料
1

电脑

2

python

方法/步骤
1

先对图片进行二值化处理。

2

由于这些格子大小均匀,所以可以使用常规的除法,先裁剪出第一个格子:e=a[:,:,0].shapef=a[0:int(e[0]/9),0:int(e[1]/9)]io.imsave('00.png',f)下图是等比例放大的效果图。

4

第一行第二个格子:m=0n=1f=a[int(m*e[0]/9):int((m+1)*e[0]/9),int(n*e[1]/9):int((n+1)*e[1]/9)]

5

这样,用for循环,可以实现全部裁剪:for m in range(9):    for n in range(9):        f=a[int(m*e[0]/9):int((m+1)*e[0]/9),int(n*e[1]/9):int((n+1)*e[1]/9)]        io.imsave('0/'+str(m)+'-'+str(n)+'.png',f)

6

去除边界的黑框,只保留数字或空白:for m in range(9):    for n in range(9):        f=a[int(m*e[0]/9)+10:int((m+1)*e[0]/9)-10,int(n*e[1]/9)+10:int((n+1)*e[1]/9)-10]        io.imsave('0/'+str(m)+'-'+str(n)+'.png',f)

推荐信息