使用 Kotlin 和 Tesseract 实现验证码图像识别

一、准备环境

  1. 安装 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

posted @ 2025-06-25 16:08  ttocr、com  阅读(17)  评论(0)    收藏  举报