验证码识别
验证码识别 1、前言 工作关系,在做自动化测试的时候,不可避免要碰到验证码,如果中途暂停手动输入的话,未免太繁琐,所以我在这里总结了自己搜索到的资料,结合实践经验,与各位分享。 2、解决的问题 本次我解决的问题主要是比较传统的图片验证码识别,类似下图这样的: 滑块验证和顺序点击图片那种逆天的验证码本次不涉及。 3、方法 我这里有java和python的不同实现,背后的思路大体一致: ① 图片二值化 ② 去噪点 ③ 识别 下面通过代码给大家讲解,相关代码已上传至github,可在文末查看。 4、java实现 首先列出工程目录: Entrance是程序入口,DT是一些配置信息,PictureOcr是识别用到的一些方法。 ① 去噪点 1 /** 2 * 图片去噪点 3 * @param picPath 4 * @return 5 * @throws IOException 6 */ 7 public static void removeBackground(String picPath) throws IOException { 8 BufferedImage bufferedImage = ImageIO.read(new File(picPath)); 9 int width = bufferedImage.getWidth(); 10 int height =