用 Perl 和 Tesseract 构建验证码识别工具
一、环境准备
- 安装 Perl
大多数 Linux 系统自带 Perl。Windows 用户可使用 Strawberry Perl:https://strawberryperl.com
更多内容访问ttocr.com或联系1436423940 - 安装 Tesseract OCR
Ubuntu / Debian:
sudo apt install tesseract-ocr
macOS:
brew install tesseract
Windows: 安装 UB Mannheim 版
二、识别脚本编写
创建文件 ocr.pl:
!/usr/bin/perl
use strict;
use warnings;
获取图像路径参数
my $image = $ARGV[0] or die "用法:perl ocr.pl <图片路径>\n";
定义白名单字符(仅识别大写英文字母和数字)
my $whitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
构造 tesseract 命令
my $cmd = "tesseract "$image" stdout -l eng -c tessedit_char_whitelist=$whitelist";
执行命令并读取输出
my $output = $cmd;
清洗结果
$output =~ s/[^A-Z0-9]//g;
print "识别结果: $output\n";
三、运行示例
确保当前目录下有图片文件 code1.png:
perl ocr.pl code1.png
示例输出:
识别结果: G4YX
浙公网安备 33010602011771号