Pythonで光学式文字認識を実装する方法



この記事では、Pythonで光学式文字認識を実装する方法に関する詳細で包括的な知識を提供します。

光学式文字認識は不可欠であり、重要な側面であり、 プログラミング言語。このような概念を実際のシナリオに適用することは数多くあります。この記事では、Pythonで光学式文字認識を実装する方法について説明します

光学式文字認識のアプリケーション

チケットカウンターは、これを広範囲に使用して、チケットの重要な情報をスキャンおよび検出し、ルートや通勤者の詳細を追跡します。紙のテキストをデジタル形式に変換します。カメラは高解像度の写真をキャプチャし、OCRを使用してそれらを単語またはPDF形式にします。





charachters

PythonでのOCRの導入は、「Tesseract」や「Orcad」などの用途の広いライブラリが追加されたことによるものです。これらのライブラリは、多くのコーダーや開発者がコード設計を簡素化するのに役立ちました。プロジェクトの他の側面により多くの時間を費やせるようにします。メリットは計り知れないので、それが何であるか、そしてそれがどのように行われるかを覗いてみましょう。



Pythonでの光学式文字認識の構築

まず、「pytesseract」を使ってクラスを作る必要があります。このクラスを使用すると、画像をインポートしてスキャンできます。その過程で、拡張子が「ocr.py」のファイルが出力されます。以下のコードを見てみましょう。関数ブロック「process_image」は、取得したテキストをシャープにするために使用されます。

次のルートハンドラーとビュー関数がアプリケーション(app.py)に追加されます。

ルーターハンドラーコード



ソートc ++の使用方法
//ルートハンドラー@ app.route( '/ v {} / ocr'.format(_VERSION)、methods = [' POST '])def ocr():try:url = request.json [' image_url '] if' jpg'in url:output = process_image(url)return jsonify({'output':output})else:return jsonify({'error': '.jpgファイルのみ、お願いします'})ただし、return jsonify({'error ':'送信するつもりでしたか:{'image_url': 'some_jpeg_url'} '})

OCRエンジンコード

// OCRENGINEインポートpytesseractインポートリクエストからPILインポートイメージからPILインポートImageFilterからStringIOインポートStringIOdef process_image(url):image = _get_image(url)image.filter(ImageFilter.SHARPEN)return pytesseract.image_to_string(image)def _get_image( url):return Image.open(StringIO(requests.get(url).content))//

インポートを更新し、APIバージョン番号を追加してください。

import os import logging from logging import Formatter、FileHandler fromフラスコimport Flask、request、jsonify from ocr import process_image _VERSION = 1#APIバージョン

「process_image()」であるOCRエンジンの関数のJSON応答を追加しています。 JSONは、APIに出入りする情報を収集するために使用されます。 PILの「Image」ライブラリを使用してオブジェクトファイルで応答を渡し、インストールします。

このコードは、.jpg画像でのみ最高のパフォーマンスを発揮することに注意してください。複数の画像形式を特徴とする複雑なライブラリを使用すると、すべての画像を効果的に処理できます。また、このコードを自分で試すことに興味がある場合は、最初に「Pillow」ライブラリから調達したPILをインストールしてください。

&bullまず、「app.py」というアプリを実行します。

// $ cd ../home/flask_server/ $ python app.py //

&bull次に、別のターミナルで次のコマンドを実行します。

// $ curl -X POST http:// localhost:5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H'Content-Type:application / json '

例えば:

// $ curl -X POST http:// localhost:5000 / v1 / ocr -d '{' C:UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg'}'- H 'コンテンツタイプ:application / json' {'出力': 'ABCDEnFGH I JnKLMNOnPQRST'} //

OCRエンジンの長所と短所

PythonでOCRを使用する多くのアプリケーションの中で、人気のあるものは手書き認識です。人々はこれを適用して、元のスクリプトを単にコピーするのではなく、書かれたテキストを再作成して、多数のコピーに取り込むことができます。これは、均一性と読みやすさをもたらすためです。

OCRは、PDFをテキストに変換して変数として保存する場合にも役立ちます。その後、これを追加のタスクのために任意の量の前処理にかけることができます。 OCRの概念は、Pythonの世界では有益なトピックのように見えますが、確かに欠点の一部を共有しています。

OCRは常に100%の精度を保証できるとは限りません。 OCRエンジンが貧弱な画像を学習して認識することを可能にする人工知能の概念の助けを借りて、多くの時間のトレーニングを適用する必要があります。手書きの画像は認識できますが、書き込みのスタイル、ページの色、画像のコントラスト、画像の解像度など、いくつかの要因によって異なります。

これで、Pythonでのこの光学式文字認識の記事は終わりです。 OCRがどのように正確に機能するかを理解していただければ幸いです。

Pythonとそのさまざまなアプリケーションに関する深い知識を得るには、次のことができます。 24時間年中無休のサポートと生涯アクセスを備えたライブオンライントレーニング用。

質問がありますか? 「Pythonでの光学式文字認識」のコメントセクションでそれらに言及してください。折り返しご連絡いたします。