用 Perl 和 Tesseract 构建验证码识别工具

一、环境准备

  1. 安装 Perl
    大多数 Linux 系统自带 Perl。Windows 用户可使用 Strawberry Perl:https://strawberryperl.com
    更多内容访问ttocr.com或联系1436423940
  2. 安装 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

posted @ 2025-06-24 18:09  ttocr、com  阅读(16)  评论(0)    收藏  举报