CAPTCHA-CV-OCR
使用 CV (OpenCV) 和 OCR (Tesseract) 进行验证码识别
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);
await cvocr.init(1);
let ans = await cvocr.recognize(path.join(__dirname, "docs/img", mode + ".jpg"));
console.log("ans:", ans)
process.exit(0);
})()
开发
已支持
simplest | grids_and_equations | dots_and_chars |
---|
| | |
2348 | 2x6=? | 7RVO |
新支持
codes下的文件夹对应着不同种类的名字(自行命名),你可以参照已有的模板与API创建新的识别库,来适配其他各种验证码。
参考文档与额外说明
- opencv4nodejs
- tesseract.js
- sharp
- ./lib/fakeOpenCV
C++ / Python 的 OpenCV 海量资料也非常有帮助, 相应的函数基本都能在 opencv4nodejs 的 API 文档 里找到