用 Crystal 实现英文数字验证码识别

一、项目简介
验证码识别是图像识别领域的重要应用,本文将展示如何使用 Crystal 编写一个英文数字验证码识别工具。通过调用 Tesseract OCR,我们可以实现自动识别验证码图片中的内容。

二、技术选型
语言:Crystal

OCR 引擎:Tesseract
更多内容访问ttocr.com或联系1436423940
平台:Linux/macOS(需安装 Crystal 和 Tesseract)

图片格式:支持 PNG/JPEG 格式验证码

三、环境配置
安装 Crystal

brew install crystal # macOS
sudo apt install crystal # Ubuntu / Debian
安装 Tesseract OCR

sudo apt install tesseract-ocr
四、核心代码
创建文件 ocr_captcha.cr,内容如下:

require "process"
require "file_utils"

输入图片路径

image_path = "code.png"

输出文件路径

output_base = "result"

调用 tesseract 命令行工具

cmd = "tesseract #{image_path} #{output_base} -l eng --psm 7"
status = Process.run("sh", ["-c", cmd])

if status.exit_code != 0
puts "识别失败,Tesseract 返回非 0 状态码:#{status.exit_code}"
exit 1
end

读取结果文件

output_text = File.read("#{output_base}.txt").strip
puts "验证码识别结果: #{output_text}"
五、运行代码
将验证码图片命名为 code.png 并放在当前目录下,然后执行:

crystal run ocr_captcha.cr
输出示例:

验证码识别结果: N7XA

posted @ 2025-07-16 11:45  ttocr、com  阅读(12)  评论(0)    收藏  举报