ホームページ >バックエンド開発 >Python チュートリアル >1 桁のみを認識するように Pytesseract を構成するにはどうすればよいですか?

1 桁のみを認識するように Pytesseract を構成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-01 10:33:13277ブラウズ

How Can I Configure Pytesseract to Recognize Only Single Digits?

Pytesseract OCR の複数の構成オプション

Pytesseract は、画像からテキストを抽出するために広く使用されている強力な OCR ツールです。ただし、特定の文字セットを認識するというタスクを実行する場合、問題が発生する可能性があります。これらの制限を克服するために、ユーザーはカスタム パラメーターを使用して Tesseract を構成することに頼ることがよくあります。

一般的なシナリオの 1 つは、他の文字を除外しながら 1 桁を受け入れるように Tesseract を構成することです。これは、場合によっては同一に見える数字のゼロと文字「O」を区別するときに重要になります。これを実現するために、Tesseract は、それに応じて調整できる複数の構成オプションを提供します。

psm および tessedit_char_whitelist パラメータの使用

Tesseract 4.0.0a のリリースにより、ユーザーはアクセスできるようになります。より広範囲のページ セグメンテーション モード (psm 値) に対応します。単一文字の認識が主な目的であるシナリオでは、psm を 10 に設定することが効果的であることがわかります。このパラメータは、Tesseract に画像を単一の文字として扱うように指示します。

さらに、Tesseract の認識を数値のみに制限するには、ユーザーは tessedit_char_whitelist パラメータを利用できます。 0123456789 などの文字ホワイトリストを指定すると、Tesseract はそのホワイトリスト内の文字を排他的に認識します。

使用例

次のコードは、psm と tessedit_char_whitelist を組み合わせる方法を示しています。実際のパラメータ設定:

import pytesseract

target = pytesseract.image_to_string(image, lang='eng', boxes=False, \
        config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')

この例では、image 変数は処理される入力画像を表し、lang='eng' はテキストが英語であることを指定します。 box=False を設定すると、関数は認識された文字の境界ボックスを出力しません。

--psm 10 パラメーターは単一文字認識が確実に利用されるようにし、--oem 3 パラメーターはデフォルトの OCR エンジンを選択します。最後に、-c tessedit_char_whitelist=0123456789 パラメーターは、認識を数字のみに制限します。

これらの複数の構成オプションを理解して活用することで、ユーザーは特定の OCR ニーズに合わせて Pytesseract の動作を効果的に調整でき、正確かつ正確なテキスト抽出が可能になります。

以上が1 桁のみを認識するように Pytesseract を構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。