検索
ホームページバックエンド開発Python チュートリアルPythonを使用して写真内のテキストを識別する方法

Pythonを使用して写真内のテキストを識別する方法

#Tesseract

テキスト認識は ORC の一部です。ORC は光学式文字認識を意味し、一般にテキスト認識として知られています。 Tesseract はテキスト認識ツールで、Python と併用することでテキスト認識を素早く実装できます。しかしその前に、面倒な作業を完了する必要があります。

(1) Tesseract のインストールと設定

https://digi.bib.uni-mannheim.de/tesseract/

# から Tesseract をダウンロードします。 Pythonを使用して写真内のテキストを識別する方法#誰もが選択できる多くのバージョンがあり、自分のニーズに応じて選択できます。このうち、w32 は 32 ビット システム、w64 は 64 ビット システムを意味しますので、適切なバージョンを選択するだけでダウンロード速度が遅くなる場合があります。

インストールするときは、インストールの場所を確認し、インストール ディレクトリをシステム パス変数に設定する必要があります。パスは D:\CodeField\Tesseract-OCR です。

##「マイ コンピュータ/このコンピュータ」を右クリックし、「プロパティ」→「システムの詳細設定」→「環境変数」→「パス」→「編集」→「作成」を選択します。新しいものを作成し、そこにパスをコピーします。システム変数を追加した後、構成を完了するには、「OK」をクリックする必要があります。 Pythonを使用して写真内のテキストを識別する方法

(2) 言語パックのダウンロード

Tesseract はデフォルトでは中国語をサポートしていません。中国語またはその他の言語を認識したい場合は、対応する言語パックをダウンロードする必要があります。ダウンロード アドレスは次のとおりです。以下は次のとおりです: https://tesseract -ocr.github.io/tessdoc/Data-Files、Web サイトに入った後、下にスクロールします:

中国語言語パッケージが 2 つあります、中国語 (簡体字) と中国語 (繁体字) が 1 つあり、簡体字中国語と繁体字中国語です。ダウンロードする必要があるものを選択できます。ダウンロードが完了したら、Tesseract のパスの下の tessdata ディレクトリにダウンロードする必要があります。パスは D:\CodeField\Tesseract-OCR\tessdata です。 Pythonを使用して写真内のテキストを識別する方法

(3) その他のモジュールのダウンロード

上記の手順に加えて、2 つのモジュールもダウンロードする必要があります。

pip install pytesseract
pip install pillow

最初のモジュールはテキスト認識用で、 2 つ目はテキスト認識用、もう 1 つは画像読み取り用です。次に、テキスト認識を実行します。

テキスト認識

(1) 単一画像認識

次の操作は非常に簡単で、認識したい画像は次のとおりです。

次のステップはテキスト認識コードです: Pythonを使用して写真内のテキストを識別する方法

import pytesseract
from PIL import Image
# 读取图片
im = Image.open('sentence.jpg')
# 识别文字
string = pytesseract.image_to_string(im)
print(string)

認識結果は次のとおりです:

Do not go gentle into that good night!

デフォルトは次のとおりです。英語をサポートしているため、直接認識できますが、中国語やその他の言語を認識したい場合は、いくつかの変更を加える必要があります。

import pytesseract
from PIL import Image
# 读取图片
im = Image.open('sentence.png')
# 识别文字,并指定语言
string = pytesseract.image_to_string(im,)
print(string)

認識中に、lang='chi_sim' を設定します。言語を簡体字中国語に変更します。この設定は、tessdata ディレクトリに簡体字中国語パッケージがある場合にのみ有効になります。以下は認識に使用した画像です:

認識結果は次のとおりです: Pythonを使用して写真内のテキストを識別する方法

おとなしくおやすみしないでください

画像の内容は正確に特定されました。知っておく必要があることの 1 つは、言語を簡体字中国語またはその他の言語に設定した後でも、Tesseract は英語の文字を認識できるということです。

(2) バッチ画像認識

単一画像認識をリストアップしたので、バッチ画像認識の機能が必要です。これには、次のような txt ファイルを準備する必要があります。次の内容の text.txt ファイルを用意します。

sentencePythonを使用して写真内のテキストを識別する方法
sentencePythonを使用して写真内のテキストを識別する方法

コードを次のように変更します。

import pytesseract
# 识别文字
string = pytesseract.image_to_string('text.txt',)
print(string)

ただし、txt ファイルを自分で記述するのはどうしても面倒なので、修正することができます。

import os
import pytesseract
# 文字图片的路径
path = 'text_img/'
# 获取图片路径列表
imgs = [path + i for i in os.listdir(path)]
# 打开文件
f = open('text.txt', 'w+', encoding='utf-8')
# 将各个图片的路径写入text.txt文件当中
for img in imgs:
    f.write(img + '\n')
# 关闭文件
f.close()
# 文字识别
string = pytesseract.image_to_string('text.txt',)
print(string)

このように、バッチ認識を実行するには、テキスト画像のルート ディレクトリを渡すだけで済みます。テスト中に、Tesseract は手書きや楷書などのエレガントなフォントを正確に認識していないことが判明し、一部の複雑な文字の認識も改善する必要があります。

ただし、Song PrincessやBlockchainなどのストロークが厳密なフォントの認識精度は非常に高いです。また、画像の傾きがある角度以上になると認識結果が大きく異なります。

さらに関連する知識については、

Python ビデオ チュートリアル

をご覧ください。

以上がPythonを使用して写真内のテキストを識別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python vs. C:曲線と使いやすさの学習Python vs. C:曲線と使いやすさの学習Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Python vs. C:メモリ管理とコントロールPython vs. C:メモリ管理とコントロールApr 19, 2025 am 12:17 AM

PythonとCは、メモリ管理と制御に大きな違いがあります。 1。Pythonは、参照カウントとガベージコレクションに基づいて自動メモリ管理を使用し、プログラマーの作業を簡素化します。 2.Cには、メモリの手動管理が必要であり、より多くの制御を提供しますが、複雑さとエラーのリスクが増加します。どの言語を選択するかは、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。

科学コンピューティングのためのPython:詳細な外観科学コンピューティングのためのPython:詳細な外観Apr 19, 2025 am 12:15 AM

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

PythonとC:適切なツールを見つけるPythonとC:適切なツールを見つけるApr 19, 2025 am 12:04 AM

PythonまたはCを選択するかどうかは、プロジェクトの要件に依存するかどうかは次のとおりです。1)Pythonは、簡潔な構文とリッチライブラリのため、迅速な発展、データサイエンス、スクリプトに適しています。 2)Cは、コンピレーションと手動メモリ管理のため、システムプログラミングやゲーム開発など、高性能および基礎となる制御を必要とするシナリオに適しています。

データサイエンスと機械学習のためのPythonデータサイエンスと機械学習のためのPythonApr 19, 2025 am 12:02 AM

Pythonは、データサイエンスと機械学習で広く使用されており、主にそのシンプルさと強力なライブラリエコシステムに依存しています。 1)Pandasはデータ処理と分析に使用され、2)Numpyが効率的な数値計算を提供し、3)SCIKIT-LEARNは機械学習モデルの構築と最適化に使用されます。これらのライブラリは、Pythonをデータサイエンスと機械学習に理想的なツールにします。

Pythonの学習:2時間の毎日の研究で十分ですか?Pythonの学習:2時間の毎日の研究で十分ですか?Apr 18, 2025 am 12:22 AM

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Web開発用のPython:主要なアプリケーションWeb開発用のPython:主要なアプリケーションApr 18, 2025 am 12:20 AM

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

Python vs. C:パフォーマンスと効率の探索Python vs. C:パフォーマンスと効率の探索Apr 18, 2025 am 12:20 AM

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール