| 10 | |
| 11 | |
| 12 | def deal_pic(img,imgname): |
| 13 | captcha = Image.new('RGB', (12, 80)) |
| 14 | img = Image.open(img) |
| 15 | # 将图片裁剪为52份 |
| 16 | for i in range(52): |
| 17 | if i < 26: |
| 18 | box = (i * 12, 0, (i + 1) * 12, 80) |
| 19 | else: |
| 20 | box = ((i - 26) * 12, 80, (i - 25) * 12, 160) |
| 21 | regoin = img.crop(box) |
| 22 | captcha.paste(regoin, (0, 0)) |
| 23 | captcha.save(f'{i}.jpg') |
| 24 | captcha = Image.new('RGB', (10 * 26, 80 * 2)) |
| 25 | data = {0: 39, 1: 38, 2: 48, 3: 49, 4: 41, 5: 40, 6: 46, 7: 47, 8: 35, 9: 34, 10: 50, 11: 51, 12: 33, 13: 32, |
| 26 | 14: 28, 15: 29, |
| 27 | 16: 27, 17: 26, 18: 36, 19: 37, 20: 31, 21: 30, 22: 44, 23: 45, |
| 28 | 24: 43, 25: 42, 26: 12, 27: 13, 28: 23, 29: 22, 30: 14, 31: 15, 32: 21, 33: 20, 34: 8, 35: 9, 36: 25, |
| 29 | 37: 24, 38: 6, |
| 30 | 39: 7, 40: 3, 41: 2, 42: 0, 43: 1, 44: 11, 45: 10, 46: 4, 47: 5, 48: 19, 49: 18, 50: 16, 51: 17} |
| 31 | # 将52份图片重新组合(注意将每张图片的宽度由12裁剪为10) |
| 32 | for i, j in data.items(): |
| 33 | if i < 26: |
| 34 | regoin = Image.open(f'{j}.jpg').crop((0, 0, 10, 80)) |
| 35 | captcha.paste(regoin, (i * 10, 0, (i + 1) * 10, 80)) |
| 36 | else: |
| 37 | regoin = Image.open(f'{j}.jpg').crop((0, 0, 10, 80)) |
| 38 | captcha.paste(regoin, ((i - 26) * 10, 80, (i - 25) * 10, 160)) |
| 39 | captcha.save(f'{imgname}.jpg') |