timatanga OCR 包。使用 tesseract ocr 进行图像 OCR 处理

v0.1.0 2021-09-29 12:38 UTC

This package is auto-updated.

Last update: 2024-09-29 06:20:04 UTC


README

此包是 tesseract-ocr (https://github.com/tesseract-ocr/tesseract) 包的包装器。此库依赖于

  • Symfony Process
  • Tesseract OCR,版本 4 或更高。

安装

composer require dbizapps/ocr

依赖

根据您的操作系统需求,有许多安装 Tesseract OCR 的选项。个人经验仅限于 macOS,以下有推荐。对此不便之处表示歉意。

macOS

仅支持英文的 Tesseract OCR 安装

$ brew install tesseract

对于完整的语言安装,您可以选择

$ brew install tesseract tesseract-lang

基本用法

创建识别引擎实例不需要其他属性

// create ocr instance
$engine = new Recognition;

检索 tesseract 特定信息

// retrieve tesseract version
$version = $engine->version();

// retrieve supported languages
$lang = $engine->supportedLanguages();

输入/输出配置

在创建新的识别实例或之后的状态下可以设置目标图像

$engine = new Recognition(<image-path>);

$engine->setImage(<image-path>);

引擎可以以文件模式运行,将结果存储在指定的输出文件和输出路径中。不提供输出配置选项时,后续扫描过程将流式传输结果

$engine = new Recognition(<image-path>, <output-dir>, <output-filename>);

自定义配置

要了解 Tesseract OCR 配置选项的概述,请参阅 https://github.com/tesseract-ocr/tesseract

配置选项可以单独设置,如

// Scan density
$engine->setConfig(['dpi' => 300]);

// OCR Engine mode.
$engine->setConfig(['oem' => 2]);

// Page segmentation method
$engine->setConfig(['psm' => 10]);

// Languages 
$engine->setConfig(['languages' => ['eng', 'fra']]);

// output configuration
$engine->setConfig(['configFile' => ['pdf']]);

configFile 支持的选项

  • alto 以 ALTO 格式输出(OUTPUTBASE.xml)。
  • hocr 以 hOCR 格式输出(OUTPUTBASE.hocr)。
  • pdf 以 PDF 格式输出(OUTPUTBASE.pdf)。
  • txt 以纯文本格式输出(OUTPUTBASE.txt / 默认)。

除了单独设置选项之外,还有一个全局设置方法

$engine->setConfig([
	'dpi' => 300,
	'oem' => 2,
	'psm' => 10,
	'languages' => ['eng', 'fra'],
	'configFile' => ['pdf'],
])

扫描用法

扫描图像就像这样简单

$result = $engine->scan()

如果设置了输出路径和输出文件名,则提供的结果代表扫描输出的路径。否则,结果表示扫描输出。