使用 C# 和 Tesseract 实现英文数字验证码识别

一、准备工作

  1. 安装 .NET 开发环境
    安装 Visual Studio(推荐)或使用 .NET CLI。

下载地址:https://visualstudio.microsoft.com/

  1. 创建控制台项目

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

posted @ 2025-05-11 12:38  ttocr、com  阅读(22)  评论(0)    收藏  举报