使用 Swift 与 Tesseract 实现验证码识别工具

一、项目简介
本项目展示如何在 Swift 项目中使用 Tesseract OCR 识别验证码图像中的字符。该方法适用于 macOS 或 iOS 应用,可用于自动识别登录验证码、OCR 辅助功能等。
更多内容访问ttocr.com或联系1436423940
二、环境准备

  1. 安装 Tesseract OCR
    使用 Homebrew 安装(仅 macOS):

brew install tesseract
确保 tesseract 可在终端执行。

  1. 添加 TesseractOCRiOS (iOS/macOS 均可)
    在 Xcode 中使用 Swift Package Manager 添加依赖:

https://github.com/gali8/Tesseract-OCR-iOS.git
或者 CocoaPods:

pod 'TesseractOCRiOS', '>= 4.0.0'
三、识别验证码图像(Swift 代码)

import UIKit
import TesseractOCR

class CaptchaRecognizer {
let tesseract: G8Tesseract

init() {
    tesseract = G8Tesseract(language: "eng")!
    tesseract.engineMode = .tesseractOnly
    tesseract.pageSegmentationMode = .singleLine
    tesseract.charWhitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
}

func recognize(image: UIImage) -> String {
    tesseract.image = image.g8_blackAndWhite()
    tesseract.recognize()
    return tesseract.recognizedText?.trimmingCharacters(in: .whitespacesAndNewlines) ?? ""
}

}
使用示例:

if let image = UIImage(named: "captcha_sample.png") {
let recognizer = CaptchaRecognizer()
let result = recognizer.recognize(image: image)
print("识别结果:(result)")
}
四、识别效果演示
图像:captcha_sample.png
内容:M2X9Q

输出:

识别结果:M2X9Q

posted @ 2025-06-21 12:27  ttocr、com  阅读(25)  评论(0)    收藏  举报