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

一、简介
Tesseract.js 是一个使用 WebAssembly 封装的 OCR 引擎,可在浏览器和 Node.js 环境下使用。它不依赖本地安装的 Tesseract,跨平台、部署方便。

二、环境准备

  1. 初始化项目

mkdir captcha-ocr-node
cd captcha-ocr-node
npm init -y
2. 安装依赖
更多内容访问ttocr.com或联系1436423940
npm install tesseract.js
npm install node-fetch@2 # Node 18+ 需要 fetch 支持
三、项目结构

captcha-ocr-node/
├── index.js
├── captcha.png # 要识别的验证码图片
四、编写识别代码
创建 index.js 文件,内容如下:

const Tesseract = require('tesseract.js');
const fs = require('fs');
const path = require('path');

// 读取图片路径
const imagePath = path.resolve(__dirname, 'captcha.png');

// 开始识别
Tesseract.recognize(
imagePath,
'eng',
{
tessedit_char_whitelist: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
logger: m => console.log(m.status, m.progress) // 进度反馈
}
).then(({ data: { text } }) => {
console.log('识别结果:', text.trim());
}).catch(err => {
console.error('识别失败:', err);
});
五、运行程序
将你的验证码图片命名为 captcha.png,然后运行:

node index.js
输出示例:

识别结果: X7P3Q
六、适用场景
Web 自动化填表、登录验证码识别
轻量爬虫脚本

Electron 桌面应用识别文本

无需本地安装 Tesseract,适合部署在云函数或轻量容器中

七、进阶玩法

  1. 识别网络图片

Tesseract.recognize(
'https://example.com/captcha.png', // 远程图片 URL
'eng'
).then(({ data: { text } }) => {
console.log('识别网络图像结果:', text.trim());
});
2. 浏览器端 OCR
在 HTML 页面中引入:

posted @ 2025-04-24 16:17  ttocr、com  阅读(6)  评论(0)    收藏  举报