Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
EasyOCR — すぐに使えるOCR。ラテン文字、中国語、アラビア文字、デーヴァナーガリー文字、キリル文字など、80以上の言語とすべての一般的な文字体系に対応。 | Kitploit
ツール/GitHubGitHub/jaidedai/easyocr
汎用ユーティリティスクリプトと自動化機械学習
GitHubjaidedai/easyocr

EasyOCR

すぐに使えるOCR。ラテン文字、中国語、アラビア文字、デーヴァナーガリー文字、キリル文字など、80以上の言語とすべての一般的な文字体系に対応。

リポジトリを見るウェブサイト
29.9k3.6k8ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

EasyOCR

PyPI Status license Tweet Twitter

80以上の対応言語と、ラテン文字、中国語、アラビア文字、デーヴァナーガリー文字、キリル文字など、すべての主要な書記体系をサポートする、すぐに使えるOCRです。

当社ウェブサイトでデモを試す

Gradioを使用してHuggingface Spaces 🤗に統合されています。Webデモをお試しください: Hugging Face Spaces

新着情報

  • 2024年9月24日 - バージョン1.7.2

    • いくつかの互換性の問題を修正
  • すべてのリリースノートを読む

今後の予定

  • 手書き文字のサポート

使用例

example

example2

example3

インストール

pipを使用してインストール

最新の安定版リリースの場合:

root@kitploit:~
pip install easyocr

最新の開発版リリースの場合:

root@kitploit:~
pip install git+https://github.com/JaidedAI/EasyOCR.git

注1: Windowsの場合、最初にこちらの公式手順に従ってtorchとtorchvisionをインストールしてください: https://pytorch.org。pytorchのウェブサイトでは、お使いの環境に合った正しいCUDAバージョンを選択してください。CPUモードのみで実行する場合は、`CUDA = None`を選択してください。

注2: Dockerfileもこちらで提供しています。

使用方法

root@kitploit:~
import easyocr
reader = easyocr.Reader(['ch_sim','en']) # モデルをメモリにロードするため、これは一度だけ実行する必要があります
result = reader.readtext('chinese.jpg')

出力はリスト形式になり、各項目はそれぞれバウンディングボックス、検出されたテキスト、信頼度を表します。

root@kitploit:~
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚園路', 0.3754989504814148),
 ([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
 ([[517, 81], [565, 81], [565, 123], [517, 123]], '東', 0.9989598989486694),
 ([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
 ([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
 ([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
 ([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
 ([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]

注1: ['ch_sim','en']は読み取りたい言語のリストです。複数の言語を同時に指定できますが、すべての言語を一緒に使用できるわけではありません。英語はすべての言語と互換性があり、共通の文字を持つ言語は通常互いに互換性があります。

注2: ファイルパスchinese.jpgの代わりに、OpenCVの画像オブジェクト(numpy配列)や画像ファイルをバイト列として渡すこともできます。生画像のURLも受け付けます。

注3: reader = easyocr.Reader(['ch_sim','en'])の行はモデルをメモリにロードするためのものです。時間はかかりますが、一度だけ実行すれば済みます。

また、より単純な出力を得るためにdetail=0を設定することもできます。

root@kitploit:~
reader.readtext('chinese.jpg', detail = 0)

結果:

root@kitploit:~
['愚園路', '西', '東', '315', '309', 'Yuyuan Rd.', 'W', 'E']

選択した言語のモデルの重みは自動的にダウンロードされます。または、モデルハブから手動でダウンロードして、'~/.EasyOCR/model'フォルダに配置することもできます。

GPUがない場合やGPUのメモリが少ない場合は、gpu=Falseを追加することでCPUのみのモードでモデルを実行できます。

root@kitploit:~
reader = easyocr.Reader(['ch_sim','en'], gpu=False)

詳細については、チュートリアルとAPIドキュメントをお読みください。

コマンドラインで実行

root@kitploit:~
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True

独自モデルのトレーニング/使用

認識モデルについては、こちらをお読みください。

検出モデル(CRAFT)については、こちらをお読みください。

実装ロードマップ

  • 手書き文字のサポート
  • 交換可能な検出アルゴリズムと認識アルゴリズムをサポートするようにコードを再構築 APIは次のようにシンプルであるべきです
root@kitploit:~
reader = easyocr.Reader(['en'], detection='DB', recognition = 'Transformer')

アイデアは、最先端のモデルをEasyOCRに簡単にプラグインできるようにすることです。より優れた検出/認識モデルを作ろうとしている天才はたくさんいますが、私たちはここで天才になろうとしているわけではありません。私たちは彼らの研究を一般の人々がすぐに利用できるようにしたいだけです...無料で。(私たちは、ほとんどの天才が自分たちの研究にできるだけ早く、できるだけ大きくポジティブな影響を与えてほしいと願っていると信じています)パイプラインは下の図のようになるはずです。グレーのスロットは、交換可能な水色のモジュール用のプレースホルダーです。

plan

謝辞と参考文献

このプロジェクトは、いくつかの論文とオープンソースリポジトリの研究とコードに基づいています。

すべての深層学習の実行はPytorchに基づいています。 ❤️

検出の実行には、この公式リポジトリとその論文のCRAFTアルゴリズムを使用しています(@clovaaiの@YoungminBaekに感謝)。また、彼らの事前学習済みモデルも使用しています。トレーニングスクリプトは@gmuffinessによって提供されています。

認識モデルはCRNN(論文)です。これは3つの主要なコンポーネントで構成されています: 特徴抽出(現在はResnetとVGGを使用)、系列ラベリング(LSTM)、およびデコード(CTC)。認識実行のためのトレーニングパイプラインは、deep-text-recognition-benchmarkフレームワークの修正版です。(@clovaaiの@ku21fanに感謝)このリポジトリは、もっと評価されるべき宝石のような存在です。

ビームサーチのコードは、このリポジトリと彼のブログに基づいています。(@githubharaldに感謝)

データ合成はTextRecognitionDataGeneratorに基づいています。(@Belvalに感謝)

そして、distill.pubのCTCに関する優れた記事はこちらです。

貢献したい方へ

AIをすべての人が利用できるようにして、一緒に人類を前進させましょう!

貢献には3つの方法があります:

コーダー: 小さなバグや改善についてはPRを送ってください。大きな変更については、まずissueを開いて私たちと相談してください。'PR WELCOME'タグが付いたバグ/改善のissueリストがあります。

ユーザー: EasyOCRがあなたやあなたの組織にどのように役立っているかを教えてください。今後の開発を促進するのに役立ちます。また、今後のモデル改善のためにIssueセクションに失敗例を投稿してください。

テックリーダー/第一人者: このライブラリが役に立ったなら、ぜひ広めてください!(EasyOCRに関するYann Lecunの投稿をご覧ください)

新しい言語リクエストのガイドライン

新しい言語をリクエストするには、以下の2つのファイルを含むPRを送っていただく必要があります:

  1. easyocr/characterフォルダに、すべての文字のリストを含む'yourlanguagecode_char.txt'を置きます。そのフォルダ内の他のファイルの形式例を参照してください。
  2. easyocr/dictフォルダに、その言語の単語リストを含む'yourlanguagecode.txt'を置きます。 平均して、言語あたり約30000語、人気のある言語では50000語以上あります。 このファイルは多ければ多いほど良いです。

あなたの言語に独特な要素がある場合(例: 1. アラビア語: 文字が互いに接続されると形が変わる + 右から左に書く 2. タイ語: 行の上に配置する文字と下に配置する文字がある)、可能な限り私たちに教えてください、または役立つリンクを提供してください。実際に機能するシステムを実現するには、細部にまで注意を払うことが重要です。

最後に、私たちの優先順位が人気のある言語、または互いに文字の大部分を共有する言語のグループに向けられることをご理解ください(あなたの言語がその場合もお知らせください)。新しいモデルの開発には少なくとも1週間かかるため、新しいモデルのリリースまでしばらく待つ必要があるかもしれません。

開発中の言語のリストをご覧ください

Github Issues

リソースが限られているため、6か月以上前のissueは自動的にクローズされます。重要なissueがある場合は、再度issueを開いてください。

ビジネスに関するお問い合わせ

エンタープライズサポートについては、Jaided AIがカスタムOCR/AIシステムの実装、トレーニング/ファインチューニング、デプロイまでのフルサービスを提供しています。お問い合わせはこちらから。

ツールをダウンロード