使用 C# 和 Tesseract 实现英文数字验证码识别
一、准备工作
- 安装 .NET 开发环境
安装 Visual Studio(推荐)或使用 .NET CLI。
下载地址:https://visualstudio.microsoft.com/
- 创建控制台项目
dotnet new console -n CaptchaOCR
cd CaptchaOCR
3. 添加 NuGet 包依赖
dotnet add package Tesseract
确保你已安装 Tesseract OCR 引擎(并配置到系统环境变量):
Windows 用户可从:https://github.com/UB-Mannheim/tesseract/wiki 下载适用于 Windows 的安装包。
二、项目结构和代码
将你的验证码图像放在项目根目录,命名为 captcha.png。
编辑 Program.cs 文件:
using System;
using Tesseract;
class Program
{
static void Main()
{
string imagePath = "captcha.png";
string tessDataPath = @"./tessdata"; // 包含英文语言数据的路径
try
{
using (var engine = new TesseractEngine(tessDataPath, "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(imagePath))
{
using (var page = engine.Process(img))
{
string text = page.GetText().Trim();
Console.WriteLine("识别结果: " + text);
}
}
}
}
catch (Exception e)
{
Console.WriteLine("发生错误: " + e.Message);
}
}
}
注意:你需要将 tessdata 文件夹(包含 eng.traineddata)放在项目目录或指定路径下。
三、运行程序
使用 Visual Studio 或命令行编译运行:
dotnet run
输出示例:
识别结果: 4X9QE
浙公网安备 33010602011771号