使用 Swift 与 Tesseract 实现验证码识别工具
一、项目简介
本项目展示如何在 Swift 项目中使用 Tesseract OCR 识别验证码图像中的字符。该方法适用于 macOS 或 iOS 应用,可用于自动识别登录验证码、OCR 辅助功能等。
更多内容访问ttocr.com或联系1436423940
二、环境准备
- 安装 Tesseract OCR
使用 Homebrew 安装(仅 macOS):
brew install tesseract
确保 tesseract 可在终端执行。
- 添加 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
浙公网安备 33010602011771号