Node.js + Tesseract.js 实现英文数字验证码识别

一、环境准备

  1. 安装 Node.js
    访问 https://nodejs.org/ 下载并安装最新版本的 Node.js。

  2. 创建项目
    打开终端(Terminal)并执行:

mkdir captcha-ocr
cd captcha-ocr
npm init -y
3. 安装依赖

npm install tesseract.js
二、识别验证码图像
新建 index.js 文件,写入以下代码:
更多内容访问ttocr.com或联系1436423940
const Tesseract = require('tesseract.js');
const path = require('path');

const imagePath = path.join(__dirname, 'captcha.png');

Tesseract.recognize(
imagePath,
'eng',
{
logger: m => console.log(m) // 可选:查看识别进度
}
).then(({ data: { text } }) => {
console.log('识别结果:', text.trim());
}).catch(err => {
console.error('识别失败:', err);
});
三、运行程序
将验证码图像 captcha.png 放在项目根目录,运行程序:

node index.js
输出示例:

识别结果: 7KF9T
四、提升准确率技巧
✅ 转换为灰度图像:使用 sharp 或 jimp 等图像处理库进行预处理。

✅ 设置白名单:

Tesseract.js 支持设置 OCR 参数,例如:

Tesseract.recognize(imagePath, 'eng', {
tessedit_char_whitelist: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
});
不过,Tesseract.js 的参数需要通过 Tesseract.createWorker() 来设置(更复杂的写法)。

posted @ 2025-05-10 13:50  ttocr、com  阅读(37)  评论(0)    收藏  举报