验证码识别(03)——预处理

预处理

去除矩形反色块

去除验证码中干扰矩形色块

原图去除色块之后

  1. 扫描最左最右列像素,若出现相同长度相同位置的黑色像素,则可确定为矩形边缘,若没有则执行2
  2. 横着挨个扫描每行的像素,两行中至少有一个像素是黑色则此处有可能是矩形的边缘,记录这行像素与下一行连续不同的个数,上半部分找最长的记为up(upx1, upy1, upx2, upy2),下半部分找最长的down(downx1, downy1, downx2, downy2),其中上边界up=upy1,下边界down=downy1
  3. 若upx2-upx1 == 50 或者 downx2-downx1 == 50 或者upx2-downx1 == 50 或者downx2-upx1 == 50,则矩形位置确定,为[up, down, left, right],其中up, down为upy1, downy1,left, right为上面相差50的组合;如果上述条件都不满足则按照步骤2中同样的方法扫描,寻找左右像素颜色连续不同最长的位置记为left和right
  4. 将up, down, left, right确定的矩形中的颜色倒转
  5. 最后准确率达到171/200