使用 Kotlin 和 Tesseract 实现验证码图像识别
一、准备环境
- 安装 Kotlin
使用 SDKMAN (推荐):
更多内容访问ttocr.com或联系1436423940
sdk install kotlin
或使用 Homebrew(macOS):
brew install kotlin
2. 安装 Tesseract OCR
Ubuntu / Debian
sudo apt install tesseract-ocr
macOS
brew install tesseract
二、Kotlin 脚本实现
创建文件 CaptchaOCR.kt:
import java.io.File
fun main(args: Array
if (args.isEmpty()) {
println("用法: kotlin CaptchaOCR.kt <图片路径>")
return
}
val imagePath = args[0]
val whitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
val command = listOf(
"tesseract", imagePath, "stdout",
"-l", "eng",
"-c", "tessedit_char_whitelist=$whitelist"
)
try {
val process = ProcessBuilder(command)
.redirectErrorStream(true)
.start()
val output = process.inputStream.bufferedReader().readText()
val cleaned = output.replace(Regex("[^A-Z0-9]"), "")
println("识别结果: $cleaned")
} catch (e: Exception) {
println("执行失败: ${e.message}")
}
}
三、编译与运行
编译(使用 kotlinc):
kotlinc CaptchaOCR.kt -include-runtime -d captchaocr.jar
运行:
java -jar captchaocr.jar code1.png
输出示例:
识别结果: M7B9
浙公网安备 33010602011771号