首先要从12306上面将验证码爬取下来,保存到C:\images 下
from PIL import Image
import os
def get_sub_img(im, x, y): #截出方格图片
assert 0 <= x <= 3
assert 0 <= y <= 2
WITH = HEIGHT = 68
left = 5 + (67 + 5) * x
top = 41 + (67 + 5) * y
right = left + 67
bottom = top + 67
return im.crop((left, top, right, bottom))
def save_images(im,ii,z): #保存方格图片
im.save("./images/"+str(ii)+'_'+str(z)+".png")
def ocr_question_extract(im,ii): #截出标题并保存
im = im.crop((119, 3, 260, 22))
# im.save("./标题/"+str(x)+".png")
# im.show()
im.save("./标题/" + str(ii) + ".png")
if __name__ == '__main__':
error = 0
input_path = r'C:\images' #待分割的图片路径
flies = os.listdir(input_path)
for ii in range(len(flies)):
print(ii)
# print(input_path+'/'+str(ii) + '.jpg')
try:
im = Image.open(input_path+'/'+str(ii) + '.jpg')
#im = Image.open("./tmp.jpg")
ocr_question_extract(im,ii) #分裂标题
z = 0
for y in range(2):
for x in range(4):
z = z + 1
im2 = get_sub_img(im, x, y)
save_images(im2,ii,z)
except Exception as e:
error = error +1
print('出错次数',error)