图片预处理
把验证码去噪、二值化、灰度处理
正方教务系统的二维码字符颜色都是蓝色。二维码转为RGB通道,遍历像素点,蓝色改为黑色,其他颜色改为白色。再转为灰度图片,方便后面识别
1 | def stay_blue2gray(image): |
分割图片
验证码的字符总是出现在相同的位置,定长暴力切割
1 | def split_image(image): |
从本地加载字模
字模的文件名切片第一个就是字模对应的字符
1 | def ocr(images, model_path='./zfgetcode/data/model'): |
OCR识别字符
遍历像素点,返回匹配度最高的结果,匹配算法还是大一程序设计课上,找最小数的穷举算法
1 | def single_char_ocr(image, models, file_names): |
完整代码(OCR_code.py)
1 | import os |