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

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

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

4、第一行第二个格子:
m=0
n=1
f=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)
