IRONOCRの使用

コンピュータビジョンによるOCR(例題チュートリアル)

Kannaopat Udonpant
カンナパット・ウドンパント
2023年3月28日
更新済み 2024年1月28日
共有:

光学式文字認識(OCR)は、機械が画像からテキストを読み取り解釈することを可能にする技術であり、データ処理と自動化をより速く、より効率的にします。 この記事では、IronOCRライブラリを使用したOCRコンピュータビジョンの使用ガイドラインと、それがテキスト認識を強化し、このプロセスの自動化にどのように役立つかについて説明します。

なぜOCRが重要なのか?

コンピュータビジョンを使用したOCRは、光学文字認識(OCR)の高度な形式であり、人工知能と機械学習アルゴリズムの力を利用して、画像からテキスト文字をより正確かつ効率的に認識します。

コンピュータビジョン画像処理アルゴリズムにより、OCRシステムは画像内のテキストのコンテキストやレイアウトを理解し、文字の形状や構造に基づいて文字を認識することができます。 OCRとコンピュータビジョンは、複数のフォント、スタイル、サイズを持つ複雑な画像からテキストを抽出できるため、ドキュメントのデジタル化、データ抽出、および自動化において貴重なツールとなります。

IronOCR: C# OCRライブラリ

IronOCRは、コンピュータビジョン技術を用いて画像や文書からテキストを抽出するための人気のあるOCRライブラリです。 使用が簡単で、C#およびVB.NETを含む複数のプログラミング言語と統合できます。 IronOCRはオンプレミスとクラウドの両バージョンで利用可能で、画像からテキストを処理および抽出するための幅広い機能を提供します。

IronOCRのインストール

IronOCR をインストールするには、NuGet パッケージ マネージャー コンソールで次のコマンドを使用します:

:ProductInstall

IronOCRを使用したOCRシステム

次の画像は、IronOCRを使用してコンピュータービジョンを用いたOCRシステムのテストに使用されます。

コンピュータビジョンを使用したOCR(チュートリアル例)、図1: OCR検出に使用される画像サンプル

OCR検出に使用される画像サンプル

テキスト領域を検索

FindTextRegion メソッドは、画像内の単一のテキスト領域を識別するために使用されます。 このメソッドはいくつかのオプションのパラメータを受け取ります。それには、ScaleDilationAmountBinarize、およびInvertが含まれます。 Scaleは画像のサイズを調整し、DilationAmountはテキストの太さを増加させ、Binarizeは画像を白黒に変換し、Invertは画像の色を反転させます。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using inputOCR = New OcrInput("test.jpg")
	inputOCR.FindTextRegion()
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

コードを実行した後、テキスト領域から機械学習プロセスを使用してテキストが抽出されることがわかります。 出力結果は、ほぼ100%のテキスト認識精度でコンソールに表示されます。

コンピュータービジョンを用いたOCR(例のチュートリアル)、図2:テキスト抽出プロセスからのコンソール結果

テキスト抽出プロセスのコンソール結果

FindMultipleTextRegions メソッド

FindMultipleTextRegions メソッドは、FindTextRegion メソッドに似ていますが、画像に複数のテキスト領域がある場合に使用されます。 これは、各テキスト領域の位置を定義するCropRectangleオブジェクトのリストを返します。 この方法は、複数のテキストセクションを含む画像からテキストを抽出したい場合に便利です。

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("test.jpg")
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

上記のコードスニペットは、IronOCRライブラリを使用して画像ファイルでOCRを実行する方法の例です。最初にIronOCRライブラリをインポートし、新しいIronTesseractクラスのインスタンスを作成します。 その後、入力画像ファイルのパスでOcrInputオブジェクトを初期化し、FindMultipleTextRegionsメソッドを使用して画像補正のためのいくつかの前処理技術を適用します。

その後、IronTesseract オブジェクトの Read メソッドを呼び出し、前処理された画像に対してOCRを実行し、OcrResult オブジェクトを返します。 OcrResult オブジェクトから抽出されたテキストは、文字列変数に保存され、コンソールに出力されます。

IronOCRの出力

IronOCRの出力は非常に正確であり、複数のフォント、サイズ、およびテキストのスタイルを含む複雑な画像にも対応できます。

OCRの精度は、画像からデータを抽出する際に非常に重要です。なぜなら、抽出されたテキストは、データ分析、手動データ入力、機械学習、自然言語処理などのさらなる処理に使用されるからです。 抽出されたテキストにエラーが含まれている場合、後続の工程で問題が発生する可能性があります。 さらに、IronOCRでは、結果オブジェクトを調査して信頼度レベルを確認することができます。

OCRコンピュータビジョンのユースケース

光学文字認識(OCR)技術は、印刷されたテキストの取り扱い方法を革命的に変えました。 OCRツールは、文書処理とデータ抽出に欠かせない存在となっています。 以下は、光学文字認識ソフトウェアの使用例です:

OCR ナンバープレート認識

ナンバープレート認識は、交通管理、駐車システム、および法執行活動の自動化において重要な役割を果たしています。 OCRコンピュータビジョンをC#で実装することにより、開発者は画像やライブビデオフィードから迅速かつ正確にナンバープレートを識別するアプリケーションを作成できます。 この技術は以下の用途に使用できます:

  • 交通違反を監視し、犯罪行為に関与している車両を特定します。
  • 駐車システムを自動化し、入退出管理を容易にし、請求プロセスを効率化します。
  • 制限区域内での車両の動きを追跡および監視することにより、安全対策を強化します。

請求書からテキストを抽出

C#でのOCRコンピュータービジョンを利用して、請求書やその他の財務書類からのテキスト抽出を自動化するOCRアプリケーションを開発できます。 このプロセスは手入力によるデータ入力エラーを大幅に削減し、会計業務を効率化することができます。 主な利点には次のものがあります:

  • データ入力プロセスを自動化することによって生産性が向上しました。
  • 精度の向上、OCRは人為的なエラーの可能性を低減します。
  • 効率的なデータ管理のための会計ソフトウェアおよびシステムとのシームレスな統合。

OCR字幕生成

ビデオの字幕作成は、時間がかかり労力を要する作業です。C#でのOCRコンピュータービジョンは、このプロセスを簡素化し、画面上のテキストを自動で検出して文字起こしすることができ、開発者が次のことを可能にします:

  • 映画、テレビ番組、オンライン動画のために正確な字幕を作成する。
  • 聴覚障害のある方や異なる言語を話す方のためのアクセシビリティを向上させましょう。
  • ビデオプラットフォームのための検索可能でインデックス化可能なコンテンツを提供することで、SEOの取り組みを強化する

OCR PDF処理

PDFは、ドキュメントの共有や保存に広く使用されていますが、テキストを抽出するのは難しいことがあります。 C#でのOCRコンピュータビジョンは、開発者がPDFファイルを簡単に処理し、その内容を抽出するOCRアプリケーションを構築するのに役立ち、以下を促進します。

  • PDFをWord、Excel、またはプレーンテキストのような編集可能なファイル形式に簡単に変換します。
  • 分析、インデックス作成、またはさらなる処理のための効率的なデータ抽出。
  • スキャンしたPDFを検索可能で読みやすいテキストに変換することでアクセシビリティが改善されました。

印刷されたテキストのデジタル化

OCRソフトウェアは、ドキュメント画像から印刷されたテキストをデジタル化するために広く使用されています。 OCRツールは、スキャンされたデジタル文書、PDF、およびさまざまな形式の画像からテキストを抽出できます。 これは文書管理において特に有用であり、テキストベースの文書を簡単に検索、保存、および共有することができます。

データ抽出

OCR技術は、請求書、領収書、フォームなどの入力データからデータを抽出するために広く使用されています。 OCRモデルは、名前、住所、日付、金額などの主要データフィールドを認識して抽出することができます。 これにより手動でのデータ入力の必要がなくなり、データ処理のエラーが減少します。

画像検索

OCR技術は、含まれているテキストに基づいて画像を検索する画像検索にも使用されます。 これは特に大規模な画像ライブラリに便利で、手動での検索は時間がかかる場合があります。

翻訳

OCRソフトウェアは、ある言語の文書からテキストを抽出し、それを別の言語に翻訳するために使用できます。 これは、文書を迅速かつ正確に翻訳する必要がある国際的な企業にとって特に便利です。

サマリー

光学文字認識(OCR)は、コンピューターが画像からテキストを読み取ることを可能にする技術です。 OCRとコンピュータービジョンは、自己運転車、ロボティクス、自動化された文書処理などのアプリケーションにおいて、機械が視覚的な世界を理解し解釈することを可能にするため、重要です。

IronOCRは、コンピュータビジョンを使用してOCRを適用し、画像からテキストを正確に認識してテキスト抽出を実行するための強力なOCRエンジンです。 これは、FindTextRegionFindMultipleTextRegionsGetTextRegions など、テキスト領域を見つけて抽出するためのさまざまなメソッドを提供します。 各メソッドには固有のパラメーターのセットがあり、それを使用してOCRプロセスを微調整し、高いOCR精度を提供できます。

IronOCRを使用することで、並行処理カスタマイズされた構成を利用して、入力画像からスキャンされたテキストを迅速かつ正確に抽出できます。これにより、大量の入力画像データを扱う際の時間と労力を節約できます。 スキャンされたドキュメント、写真、またはスクリーンショットを扱う場合、IronOCRが含まれているテキストの抽出を支援します。

IronOCR は、購入を決定する前にソフトウェアをテストしたいユーザーに無料トライアルを提供します。 IronOCRのライセンスは、$749から始まり、1年間のサポートと更新が含まれています。 その強力な機能と手頃な価格により、IronOCRは高いOCR精度を持つ信頼できるOCRソリューションを求めている人にとって素晴らしい選択肢です。

Kannaopat Udonpant
カンナパット・ウドンパント
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、カンナパットは日本の北海道大学から環境資源学の博士号を取得しました。学位を取得する過程で、カンナパットはバイオプロダクション工学部に所属する車両ロボティクス研究所のメンバーにもなりました。2022年には、C#のスキルを活かしてIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。カンナパットは、IronPDFで使用されているコードの大部分を作成した開発者から直接学べることに価値を見いだしています。同僚との学び合いに加えて、Iron Softwareで働くことの社会的側面も楽しんでいます。コードやドキュメントを書いていない時には、カンナパットは通常、PS5でゲームをしたり、『The Last of Us』を再視聴したりしています。
< 以前
OCRレシートデータ抽出(ステップバイステップチュートリアル)
次へ >
C#で運転免許証をOCRする方法