PHP Library to Extract Image Text in Multiple Languages
Open Source PHP Optical Character Recognition API allows to Load & Scan Images or Documents, Recognize & Extract Text from Images in Multiple Languages inside PHP Apps.
光学文字認識(OCR)技術は、画像や文書からテキストを抽出するための必須ツールとなっています。デジタルトランスフォーメーションの進展に伴い、効率的で正確な OCR ソリューションの必要性はかつてないほど高まっています。OcrPHP は、開発者が堅牢でスケーラブルな OCR アプリケーションを構築できるよう支援する、非常に強力なオープンソース OCR ライブラリです。Google が開発した、広く利用され高く評価されている Tesseract OCR エンジンを利用した PHP ベースの OCR ライブラリです。ライブラリには、文書スキャン、画像からのテキスト抽出、特定言語でのテキスト抽出、PDF からのテキスト抽出など、数多くの機能が含まれています。
OcrPHP ライブラリは、デスクューイング、デスペックリング、二値化といった高度な画像前処理技術を組み込み、OCR の精度向上を図っています。英語、スペイン語、フランス語、ドイツ語、イタリア語、ポルトガル語、中国語、日本語など、複数言語での OCR をサポートします。開発者は言語、ページ分割モード、OCR エンジン設定などのパラメータを調整して OCR プロセスをカスタマイズできます。堅牢なエラーハンドリング機構も備えており、OCR 操作がスムーズかつ効率的に実行されます。マルチ言語サポート、先進的な画像スキャン、カスタム構成、シンプルな統合といった機能により、開発者は少ない労力と低コストで多用途な文字認識ツールを作成できます。
OcrPHP の開始方法
OcrPHP の推奨インストール方法は Composer を使用することです。スムーズなインストールのために以下のコマンドをご利用ください。
Composer で OcrPHP をインストール
composer require fizzday/ocrphpGitHub から OcrPHP をインストール
git clone https://github.com/fizzday/OcrPHP.git コンパイル済みの共有ライブラリは Github リポジトリからダウンロードできます。
PHP で画像からテキストを認識・抽出
オープンソースの OcrPHP ライブラリを使用すれば、ソフトウェアはさまざまな画像タイプを読み込み、数行の PHP コードだけで画像からテキストを抽出できます。以下は Imagick ライブラリで画像ファイルを読み込み、OcrPHP クラスのインスタンスを作成するシンプルな例です。その後、開発者は言語と OCR エンジン設定を指定し、recognize() メソッドで画像に対して OCR を実行します。最後に getText() メソッドで抽出されたテキストを出力します。
PHP ライブラリで画像からテキストを抽出する方法
require_once 'OcrPHP/autoload.php';
// 画像ファイルを読み込む
$image = new Imagick('path/to/image.jpg');
// OcrPHP クラスのインスタンスを作成
$ocr = new OcrPHP();
// 言語と OCR エンジン設定を指定
$ocr->setLanguage('eng');
$ocr->setPageSegmentationMode(OcrPHP::PSM_SINGLE_BLOCK);
// 画像に対して OCR を実行
$result = $ocr->recognize($image);
// 抽出されたテキストを出力
echo $result->getText();
PHP で特定言語のテキストを認識
OcrPHP ライブラリは複数言語をサポートしており、PHP アプリケーション内で OCR 操作を実行できます。テキストが英語、中文、その他サポート対象言語であっても、OcrPHP はシームレスに処理します。特定言語でテキストを抽出するには、言語コードをパラメータとして渡します。対応する Tesseract 言語モデルがインストールされていることを確認してください。以下の例は、PHP アプリケーション内で中文画像からテキストを抽出する方法を示しています。
PHP で中文画像からテキストを抽出する方法
require 'vendor/autoload.php';
use Fizzday\Ocr\Ocr;
$imagePath = __DIR__ . '/example-image-chinese.png';
$ocr = new Ocr();
// 中文でテキストを抽出
$text = $ocr->scan($imagePath, 'chi_sim'); // 英語の場合は 'eng' を使用
echo "抽出されたテキスト (中文): \n" . $text;
PHP によるバッチ処理と OCR 自動化
文書処理アプリケーションを構築する開発者にとって、バッチ処理は有用な機能です。オープンソースの OcrPHP を使用すれば、開発者は画像ファイルが格納されたディレクトリをループし、各画像からテキストを自動的に抽出できます。請求書、領収書、書籍のスキャンなどのタスクを自動化するのに最適です。以下の例は、指定ディレクトリ内のすべての .png ファイルを走査し、各ファイルからテキストを抽出して出力する実用的なサンプルです。出力をファイルやデータベースに保存するように拡張すれば、文書処理の強力なツールとなります。
PHP ライブラリで複数画像からテキストを抽出する方法
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 "テキスト ({$imagePath}): \n" . $text . "\n\n";
}
カスタム構成と統合サポート
オープンソースの OcrPHP は、PHP プロジェクトへの OCR 機能統合を簡素化する、汎用性が高く開発者に優しいライブラリです。ライブラリでは、言語、ページ分割モード、画像前処理パラメータなど、カスタム Tesseract 設定を指定でき、OCR 結果を柔軟に調整できます。