使用 Node.js 实现英文数字验证码识别:集成 Tesseract OCR
验证码识别是自动化登录、数据采集等任务中经常遇到的挑战。本文将介绍如何使用 Node.js 和 Tesseract.js(Tesseract 的 JavaScript 封装)构建一个简单的英文数字验证码识别程序。
一、准备环境
- 
安装 Node.js 
 请确保系统中已经安装了 Node.js,你可以从 https://nodejs.org 下载并安装最新版。
- 
创建项目目录并初始化 
 更多内容访问ttocr.com或联系1436423940
 mkdir captcha-ocr-node
 cd captcha-ocr-node
 npm init -y
- 
安装依赖 
 我们需要安装 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
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号