使用 Node.js 实现英文数字验证码识别:集成 Tesseract OCR

验证码识别是自动化登录、数据采集等任务中经常遇到的挑战。本文将介绍如何使用 Node.js 和 Tesseract.js(Tesseract 的 JavaScript 封装)构建一个简单的英文数字验证码识别程序。

一、准备环境

  1. 安装 Node.js
    请确保系统中已经安装了 Node.js,你可以从 https://nodejs.org 下载并安装最新版。

  2. 创建项目目录并初始化
    更多内容访问ttocr.com或联系1436423940
    mkdir captcha-ocr-node
    cd captcha-ocr-node
    npm init -y

  3. 安装依赖
    我们需要安装 tesseract.js 和 jimp(用于图像处理):

npm install tesseract.js jimp
二、编写识别脚本
创建文件 index.js,编写以下内容:

const Tesseract = require('tesseract.js');
const Jimp = require('jimp');

async function preprocessImage(inputPath, outputPath) {
const image = await Jimp.read(inputPath);
image
.grayscale() // 转灰度
.contrast(1) // 增强对比度
.write(outputPath);
}

async function recognizeCaptcha() {
const inputImage = 'captcha.png';
const processedImage = 'processed.png';

await preprocessImage(inputImage, processedImage);

const { data: { text } } = await Tesseract.recognize(
processedImage,
'eng',
{
logger: m => console.log(m) // 显示进度日志(可选)
}
);

console.log(识别的验证码是: ${text.trim()});
}

recognizeCaptcha();
三、准备验证码图像
将你的英文数字验证码图片命名为 captcha.png,放在项目根目录。

四、运行程序
在终端执行:

node index.js
你将看到 Tesseract 的识别日志以及识别结果,例如:

识别的验证码是: X9F3D

posted @ 2025-04-09 16:50  ttocr、com  阅读(111)  评论(0)    收藏  举报