使用 Golang + gosseract 实现英文数字验证码识别

一、简介
gosseract 是对 Tesseract OCR 引擎的 Go 语言封装,让你能在 Go 项目中轻松集成 OCR 能力。适合需要快速部署、高并发调用、轻量依赖的验证码识别场景。

二、安装环境

  1. 安装 Tesseract OCR
    macOS:

brew install tesseract
Ubuntu / Debian:

sudo apt install tesseract-ocr
2. 安装 Go 依赖

go install github.com/otiai10/gosseract/v2@latest
三、项目结构

captcha-ocr-go/
├── main.go
└── captcha.png # 你的验证码图片
四、代码实现
main.go 内容如下:

package main

import (
"fmt"
"log"

"github.com/otiai10/gosseract/v2"

)

func main() {
client := gosseract.NewClient()
defer client.Close()

// 设置图片路径
err := client.SetImage("captcha.png")
if err != nil {
	log.Fatalf("加载图像失败: %v", err)
}

// 设置识别语言
client.Languages = []string{"eng"}

// 可选:只识别数字和大写字母,排除干扰
client.SetWhitelist("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

text, err := client.Text()
if err != nil {
	log.Fatalf("识别失败: %v", err)
}

fmt.Printf("识别出的验证码为: %s\n", text)

}
五、运行程序
将验证码图片命名为 captcha.png 放在同目录,执行:

go run main.go
输出示例:

识别出的验证码为: X93KT
六、增强处理建议(可选)
图像处理建议结合 Python 或 ImageMagick 预处理后再识别

支持并发识别多个验证码(Go 协程并发调用)

可封装为 HTTP API,服务其他模块调用

支持识别图像 Base64 数据或网络图像链接

七、适用场景
✅ 快速高效的服务端验证码识别接口

✅ Golang 爬虫自动填写验证码

✅ 与 Web 后端系统无缝集成

✅ 本地 CLI 工具或微服务调用

posted @ 2025-04-15 22:10  ttocr、com  阅读(26)  评论(0)    收藏  举报