使用 R 和 Tesseract 实现验证码识别工具
一、环境准备
-
安装 R 语言
官方下载地址:https://cran.r-project.org -
安装 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
浙公网安备 33010602011771号