使用 Ruby 与 Tesseract 实现验证码识别工具

一、项目简介
本项目介绍如何使用 Ruby 脚本结合 Tesseract OCR 引擎识别验证码图像中的字符。适用于小工具开发、命令行批处理、以及自动化测试场景。
更多内容访问ttocr.com或联系1436423940
二、环境准备

  1. 安装 Tesseract
    macOS:

brew install tesseract
Ubuntu:

sudo apt install tesseract-ocr
Windows:
下载并配置系统 PATH:https://github.com/tesseract-ocr/tesseract/releases

  1. 安装 Ruby 和依赖
    确保 Ruby 可用:

ruby -v
安装必要 gem:

gem install rmagick
RMagick 用于图像处理(可选,如果你需要灰度化等处理)

三、单张图像识别脚本
创建文件 recognize.rb:

require 'open3'

设定图像路径

image_path = ARGV[0] || "captcha.png"

unless File.exist?(image_path)
puts "找不到图像文件: #{image_path}"
exit 1
end

设置字符白名单:仅识别大写字母和数字

cmd = "tesseract #{image_path} stdout -l eng --psm 7 -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

output, status = Open3.capture2(cmd)

if status.success?
puts "识别结果: #{output.strip}"
else
puts "识别失败"
end
运行:

ruby recognize.rb test1.png
输出:

识别结果: 7F3X

posted @ 2025-06-21 12:34  ttocr、com  阅读(13)  评论(0)    收藏  举报