PHP 库用于提取多语言图像文本
开源 PHP 光学字符识别 API 允许在 PHP 应用中加载和扫描图像或文档,识别并提取多语言图像文本。
光学字符识别(OCR)技术已成为当今从图像和文档中提取文本的必备工具。随着数字化转型的兴起,对高效、精准 OCR 解决方案的需求前所未有。OcrPHP 是一款功能强大的开源 OCR 库,帮助软件开发者构建稳健且可扩展的 OCR 应用。它是基于 PHP 的 OCR 库,使用 Google 开发的广受好评的 Tesseract OCR 引擎。库中包含众多功能,如文档扫描、图像文本提取、特定语言文本提取、PDF 文本提取等。
OcrPHP 库内置了高级图像预处理技术,包括去倾斜、去噪点和二值化,以提升 OCR 准确率。它支持多语言 OCR,包括英语、西班牙语、法语、德语、意大利语、葡萄牙语、中文、日语等。开发者可通过调整语言、页面分割模式和 OCR 引擎设置等参数自定义 OCR 过程。库还提供了健全的错误处理机制,确保 OCR 操作顺畅高效。凭借多语言支持、先进的图像扫描、可定制配置以及简易集成等特性,开发者能够以低成本、少量工作量创建多功能的文本识别工具。
开始使用 OcrPHP
推荐的 OcrPHP 安装方式是使用 Composer。请使用以下命令进行顺利安装。
Install OcrPHP via Composer
composer require fizzday/ocrphpInstall OcrPHP via Github
git clone https://github.com/fizzday/OcrPHP.git 您可以从 Github 仓库下载已编译的共享库。
通过 PHP 识别并提取图像文本
开源 OcrPHP 库让软件只需几行 PHP 代码即可轻松加载各种图像并提取其中的文本。下面是一个非常简洁的示例,使用 Imagick 库加载图像文件并创建 OcrPHP 类的实例。随后开发者可以设置语言和 OCR 引擎参数,然后调用 recognize() 方法对图像执行 OCR,最后使用 getText() 方法输出提取的文本。
How to Extract Text from an Image using PHP Library?
require_once 'OcrPHP/autoload.php';
// Load the image file
$image = new Imagick('path/to/image.jpg');
// Create an instance of the OcrPHP class
$ocr = new OcrPHP();
// Set the language and OCR engine settings
$ocr->setLanguage('eng');
$ocr->setPageSegmentationMode(OcrPHP::PSM_SINGLE_BLOCK);
// Perform OCR on the image
$result = $ocr->recognize($image);
// Print the extracted text
echo $result->getText();
在特定语言下通过 PHP 识别文本
OcrPHP 库提供了多语言支持,能够在 PHP 应用中执行 OCR 操作。无论文本是英文、中文或其他受支持语言,OcrPHP 都能无缝处理。要在特定语言下提取文本,只需将语言代码作为参数传入,并确保已安装对应的 Tesseract 语言模型。以下示例展示了在 PHP 应用中从中文图像中提取文本的方式。
How to Extract Text from an Image in Chinses Language via PHP?
require 'vendor/autoload.php';
use Fizzday\Ocr\Ocr;
$imagePath = __DIR__ . '/example-image-chinese.png';
$ocr = new Ocr();
// Extract text in Chinese
$text = $ocr->scan($imagePath, 'chi_sim'); // Use 'eng' for English
echo "Extracted Text (Chinese): \n" . $text;
通过 PHP 进行批量处理和 OCR 自动化
对于构建文档处理应用的开发者而言,批量处理是一个非常有价值的功能。开源 OcrPHP 让开发者能够遍历图像文件目录,自动对每个文件执行文本提取。这非常适合自动化扫描发票、收据或书籍等任务。下面的示例会扫描指定目录下所有 .png 文件,提取每个文件的文本并打印。你可以进一步将输出保存到文件或数据库,从而构建强大的文档处理工具。
How to Extract Text from Multiple Images via PHP Library?
require 'vendor/autoload.php';
use Fizzday\Ocr\Ocr;
$directory = __DIR__ . '/images/';
$ocr = new Ocr();
foreach (glob($directory . '*.png') as $imagePath) {
$text = $ocr->scan($imagePath);
echo "Text from {$imagePath}: \n" . $text . "\n\n";
}
自定义配置与集成支持
开源 OcrPHP 是一款多功能且友好的库,简化了在 PHP 项目中集成 OCR 能力的过程。该库允许你指定自定义的 Tesseract 配置,如语言、页面分割模式和图像预处理参数,提供灵活性以定制 OCR 结果。