tessera使用技巧

软件: tessera
全方位数据报表
许可分析

许可分析

免费体验
识别闲置、及时回收
许可优化

许可优化

免费体验
多维度智能分析
许可分析

许可分析

免费体验
减少成本、盘活许可
许可优化

许可优化

免费体验
Tesseract OCR 使用方法全面指南

Tesseract 是一个由 Google 维护的开源 OCR(光学字符识别)引擎,支持超过 100 种语言的文本识别,包括中文。以下是 Tesseract 的详细使用方法,涵盖安装、基本命令、高级参数配置以及编程集成等方面。

一、安装与配置

1. 系统安装

Windows系统:

下载官方安装包(如 tesseract-ocr-w64-setup-v5.3.0.20231005.exe)并运行安装程序

安装时勾选附加语言包(如中文简体 chi_sim)

将安装路径(如 C:\Program Files\Tesseract-OCR)添加到系统环境变量 PATH 中

Linux系统(Ubuntu/Debian):

sudo apt update

sudo apt install tesseract-ocr

sudo apt install tesseract-ocr-chi-sim 中文语言包

macOS系统:

brew install tesseract

brew install tesseract-lang 语言包

2. 验证安装

安装完成后,在命令行中输入以下命令验证:

tesseract --version

tesseract --list-langs 查看已安装的语言包

如果显示版本号和已安装的语言列表,说明安装成功。

二、基础命令行使用

1. 基本识别命令

最简单的识别命令格式为:

tesseract 输入图片路径 输出文件名 [选项]

示例:

tesseract image.png output -l chi_sim 识别中文

tesseract image.jpg output -l eng 识别英文

2. 输出格式控制

Tesseract 支持多种输出格式:

tesseract image.png output txt 纯文本(默认)

tesseract image.png output pdf 可搜索PDF

tesseract image.png output hocr 结构化HTML(包含位置信息)

tesseract image.png output tsv 制表符分隔值(包含文本、位置和置信度)

3. 多语言识别

可以同时指定多种语言进行识别:

tesseract image.png output -l eng+chi_sim 中英文混合识别

tesseract image.png output -l chi_sim+jpn 中文和日文识别

注意:语言代码的顺序会影响识别结果,建议将主要识别语言放在前面。

三、高级参数配置

tessera使用技巧

1. 页面分割模式(PSM)

--psm 参数控制 Tesseract 如何处理图像中的文本布局,对识别准确率影响很大:

tesseract image.png output --psm 6 假设为统一文本块(适合文档)

tesseract image.png output --psm 7 单行文本模式(适合截图或简单图像)

tesseract image.png output --psm 11 稀疏文本(适合表格或不规则布局)

常用 PSM 模式:

3:全自动页面分割(默认)

6:单块文本

7:单行文本

11:稀疏文本

2. OCR 引擎模式(OEM)

--oem 参数选择识别算法:

tesseract image.png output --oem 1 仅使用传统引擎

tesseract image.png output --oem 3 默认LSTM神经网络(推荐)

3. 其他实用参数

tesseract image.png output -c preserve_interword_spaces=1 保留单词间空格

tesseract image.png output --dpi 300 指定图像DPI(提高扫描件识别率)

tesseract image.png output -c tessedit_char_whitelist=0123456789 只识别数字

四、编程语言集成

1. Python 集成

使用 pytesseract 库:

import pytesseract

from PIL import Image

Windows系统可能需要指定Tesseract路径

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

基本识别

text = pytesseract.image_to_string(Image.open('image.png'), lang='chi_sim')

print(text)

获取详细识别数据

data = pytesseract.image_to_data(Image.open('image.png'), output_type=pytesseract.Output.DICT)

for i in range(len(data['text'])):

if int(data['conf'][i]) > 60: 过滤低置信度结果

print(f"内容: {data['text'][i]}, 位置: ({data['left'][i]},{data['top'][i]})")

2. Java 集成

使用 Tess4J 库:

import net.sourceforge.tess4j.*;

public class OCRTest {

public static void main(String[] args) {

ITesseract instance = new Tesseract();

instance.setDatapath("/usr/share/tesseract-ocr/4.00/tessdata"); // 设置语言包路径

instance.setLanguage("chi_sim"); // 设置中文

try {

String result = instance.doOCR(new File("image.png"));

System.out.println(result);

} catch (TesseractException e) {

System.err.println(e.getMessage());

}

}

}

五、提高识别准确率的技巧

图像预处理:

使用 OpenCV 进行灰度化、二值化、去噪等处理

import cv

img = cv2.imread('image.png')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

cv2.imwrite('processed.png', binary)

训练自定义模型:

对于特殊字体或行业术语,可以训练专用模型:

tesseract eng.custom.exp0.tif eng.custom.exp0 nobatch box.train

unicharset_extractor eng.custom.exp0.box

combine_tessdata eng.

批量处理:

使用脚本批量处理多个图像:

Linux/macOS Shell脚本

for file in *.png; do

tesseract "$file" "output_${file%.*}" -l chi_sim --psm

done

六、常见问题解决

中文识别乱码:

确认已安装中文语言包(chi_sim.traineddata)

检查图像是否包含繁体字(需额外加载 chi_tra)

表格识别错位:

使用 --psm 11(稀疏文本模式)

先用 OpenCV 检测表格线再分区识别

低分辨率图像:

使用 cv2.resize() 放大图像(保持宽高比)

应用超分辨率算法预处理

Tesseract 是一个功能强大且灵活的 OCR 工具,通过合理配置参数和适当的图像预处理,可以显著提高识别准确率。对于更复杂的需求,还可以考虑训练自定义模型或结合其他图像处理技术。

index-foot-banner-pc index-foot-banner-phone

点击一下 免费体验万千客户信任的许可优化平台

与100+大型企业一起,将本增效

与100+大型企业一起,将本增效

申请免费体验 申请免费体验