• Tesseract 对验证码的识别原理和实现步骤


    一. Steps:

    学习图片库--->处理图片(初步处理)--->校正.学习图片

    二. Tesseract:

    1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特点进行初步处理(二值化/灰度化/滤波/降噪等处理),并保存为.tif格式(x.tif);

    2. 使用JTessBoxEditor ,将得到的.tif图片合并为一张图片(Tool—>MergeTiff);

    3. 下载安装tesseract-ocr-setup-3.01-1.exe;

    4. 安装后,运行命令行到.tif格式(x.tif)文件夹中,输入tesseract.exe x.tif x batch.nochop makebox;(PS:保存为 同名同文件夹下)

    5. 使用JTessBoxEditor打开x.tif文件进行逐个校正;(PS:每次校正后都得保存)

    6.校正后,命令行执行:

    tesseract.exe x.tif x nobatch box.train; 

    unicharset_extractor.exe x.box;

    7. 在目录下建立名为“font_properties”的文件,并输入内容:x 1 0 0 1 0;

    8.命令行执行:

    cntraining.exe x.tr;

    mftraining.exe –F font_properties –U unicharset x.tr;

    9. 将目录下生成的文件其中几个unicharset/inttemp/normproto/pffmtable文件加上训练名前缀“x.”;

    10.命令行执行:

    combine_tessdata x. 生成最终的校验学习数据x.traineddata文件;

    生成最终的文件示例如下:

    test

    11.将x.traineddata拷贝到tesseract-ocr-setup-3.01-1.exe安装好的tesseract-ocr目录下的tessdata下,找一张

    经过初步处理的图片,运行命令行执行:tesseract.exe xx.jpg out –l lm;在同级目录下就会生成一个out.txt文件,里面的内容就是识别后的字符串。

  • 相关阅读:
    有关Python,网络,机器学习,深度学习
    Python map使用
    左旋转字符串,翻转字符串
    使用Python创建二叉树,作为调试程序使用
    batchnorm2d函数理解,numpy数据归一化
    和为s的连续正数序列,和为s的两个数字
    判断是否为平衡二叉树
    原生js格式化json的方法
    ace editor 使用教程
    Vue+webpack+echarts+jQuery=demo
  • 原文地址:https://www.cnblogs.com/xz-legendx/p/3365010.html
Copyright © 2020-2023  润新知