给出下图所示的图片,目标是,把每一个小格子,裁剪为一个单独的图片。这样,就可以把图片裁剪为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)