Nostalgic Punchcard Missing

    captcha-cv-ocr

    1.1.2 • Public • Published

    CAPTCHA-CV-OCR

    使用 CV (OpenCV) 和 OCR (Tesseract) 进行验证码识别

    simplest grids_and_equations dots_and_chars ...
    simplest grids_and_equations dots_and_chars ...
    2348 2x6=? 7RVO ...

    快速入门

    安装

    因为所需的 OpenCV 支持模块 opencv4nodejs 体积较大,编译过程复杂,请手动安装,或者参考官方的安装指南:

    npm i opencv4nodejs -g

    第三种验证码识别改为用 sharp 和纯 JavaScript 的 CV 算法来实现,方便在树莓派上运行,但效率相比前两者很低。

    第二个 Tesseract 支持模块为 tesseract.js

    直接安装

    npm i captcha-cv-ocr

    或者

    git clone https://github.com/PillarsZhang/captcha-cv-ocr
    cd captcha-cv-ocr
    npm install
    npm link            #约等于安装为全局模块

    测试

    node judge_and_test.js

    用法

    const path = require("path");
    const cvocrModule = require("captcha-cv-ocr");
    
    var mode = "simplest";
    
    (async () => {
        let cvocr = new cvocrModule(mode);  // mode 表示验证码的种类
        await cvocr.init(1);  //其中的1表示需要启动的 OCR Worker 数(多线程)
        let ans = await cvocr.recognize(path.join(__dirname, "docs/img", mode + ".jpg"));  //支持文件地址、Base64、Buffer形式
        console.log("ans:", ans)
        process.exit(0);
    })()

    开发

    已支持

    simplest grids_and_equations dots_and_chars
    simplest grids_and_equations dots_and_chars
    2348 2x6=? 7RVO

    新支持

    codes下的文件夹对应着不同种类的名字(自行命名),你可以参照已有的模板与API创建新的识别库,来适配其他各种验证码。

    参考文档与额外说明

    C++ / Python 的 OpenCV 海量资料也非常有帮助, 相应的函数基本都能在 opencv4nodejs 的 API 文档 里找到

    Install

    npm i captcha-cv-ocr

    DownloadsWeekly Downloads

    12

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    222 kB

    Total Files

    91

    Last publish

    Collaborators

    • pillarszhang