はじめに
PaddleOCRはPaddlePaddleをベースとした多言語OCRツールキットで、実用的で超軽量のOCRシステムを提供するように設計されています。paddleOCRは、テキスト画像補正、レイアウト領域検出、定型文検出、スタンプテキスト検出、テキスト認識、表認識などの機能を統合し、開発コストを大幅に削減し、高性能推論、サービスベースのデプロイメント、エンドサイドデプロイメントをサポートします。また、高性能推論、サービスベースのデプロイメント、エンドサイドのデプロイメントをサポートしています。
機能一覧
- 多言語認識80以上の言語のテキスト認識に対応。
- データ注釈および合成ツールトレーニングデータの迅速な作成を支援する便利なデータ注釈および合成ツールを提供します。
- テキスト画像補正認識精度を向上させる文字画像補正機能を搭載。
- レイアウト領域検出複雑な文書を解析するための高精度なレイアウト領域検出をサポートします。
- フォーム認識フォーム認識機能を提供し、フォームデータを正確に抽出することができます。
- シールテキスト検出スタンプされたテキストの検出と認識をサポートします。
- ハイパフォーマンス推論リアルタイムアプリケーションのための高性能推論をサポートします。
- 複数の配備オプションサーバー、モバイル機器、組み込み機器、IoT機器の導入に対応。
- ローコード開発開発敷居を下げ、開発効率を向上させるローコード・フルプロセス開発ツールの提供。
ヘルプの使用
設置プロセス
- 環境準備::
- Python 3.6以降がインストールされていることを確認してください。
- 以下のコマンドでインストールできるPaddlePaddleフレームワークをインストールする:
pip install paddlepaddle
- PaddleOCRをインストールします:
pip install paddle
- ダウンロードモデル::
- 公式リポジトリから事前学習済みモデルをダウンロードします。具体的なダウンロードリンクやコマンドについては、公式ドキュメントを参照してください。
- 実行例::
- OCRの例を実行するには、次のコマンドを使用します:
バッシュ
paddleocr --image_dir ./doc/imgs/11.jpg --det_model_dir ./inference/ch_ppocr_mobile_v2.0_det_infer --rec_model_dir ./inference/ch_ppocr_mobile_v2.0_rec_infer --cls_model_dir ./inference/ch_ppocr_mobile_v2.0_cls_infer
- OCRの例を実行するには、次のコマンドを使用します:
機能 操作の流れ
- テキスト認識::
- 認識する画像ファイルを準備します。
- 利用する
パドロック
コマンドラインツールまたはPython APIで識別する。 - サンプルコード:
from paddleocr import PaddleOCR, draw_ocr import matplotlib.pyplot as plt import cv2 ocr = PaddleOCR(use_angle_cls=True, lang='ch') img_path = 'path/to/your/image.jpg'. result = ocr.ocr(img_path, cls=True) for line in result. print(line) # 可視化結果 image = cv2.imread(img_path) boxes = [要素[0] for elements in result]. txts = [elements[1][0] for elements in result]. im_show = draw_ocr(image, boxes, txts, scores, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB) plt.imshow(im_show) plt.show()
- フォーム認識::
- フォームを含む画像ファイルを用意する。
- 利用する
パドロック
フォーム認識のためのコマンドラインツールまたはPython API。 - サンプルコード:
from paddleocr import PPStructure, draw_structure_result インポート cv2 table_engine = PPStructure(show_log=True) img_path = 'path/to/your/table_image.jpg' result = table_engine(img_path) for line in result. print(line) # 可視化結果 image = cv2.imread(img_path) im_show = draw_structure_result(image, result, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB). plt.imshow(im_show) plt.show()
- レイアウト領域検出::
- 複雑なレイアウトを含む画像ファイルを用意する。
- 利用する
パドロック
レイアウト領域検出のためのコマンドラインツールまたはPython API。 - サンプルコード:
from paddleocr import PaddleOCR, draw_ocr import matplotlib.pyplot as plt import cv2 ocr = PaddleOCR(use_angle_cls=True, lang='ch') img_path = 'path/to/your/layout_image.jpg'. result = ocr.ocr(img_path, cls=True) for line in result. print(line) # 可視化結果 image = cv2.imread(img_path) boxes = [要素[0] for elements in result]. txts = [elements[1][0] for elements in result]. im_show = draw_ocr(image, boxes, txts, scores, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB) plt.imshow(im_show) plt.show()