使用 R 和 Tesseract 实现验证码识别工具

一、环境准备

  1. 安装 R 语言
    官方下载地址:https://cran.r-project.org

  2. 安装 Tesseract
    macOS: brew install tesseract

Ubuntu: sudo apt inst
install.packages("magick")
install.packages("tesseract")
二、识别代码编写
新建文件 captcha_ocr.R:

library(magick)
library(tesseract)

设置英文 OCR 引擎,限制识别字符为大写字母和数字

engine <- tesseract("eng", options = list(tessedit_char_whitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"))

识别函数

recognize_captcha <- function(image_path) {
img <- image_read(image_path) # 读取图像
img <- image_convert(img, colorspace = 'gray') # 转灰度
img <- image_contrast(img, sharpen = 1) # 增强对比度
result <- ocr(img, engine = engine) # 使用 Tesseract 识别
clean_result <- gsub("[^A-Z0-9]", "", result) # 清洗结果
return(clean_result)
}

示例调用

image_file <- "captcha1.png"
cat("识别结果: ", recognize_captcha(image_file), "\n")
三、运行程序
确保工作目录下有验证码图像文件 captcha1.png,在 R 中运行:

source("captcha_ocr.R")
输出示例:

识别结果: B3Y9

posted @ 2025-06-24 11:20  ttocr、com  阅读(17)  评论(0)    收藏  举报