ホワイトペーパー

機械学習ソフトウェアを使用した画像からのテキスト抽出

テクノロジー

機械学習を使用したテキスト画像からのテキスト抽出は、コンピュータビジョンと自然言語処理の交差点で拡大する分野です。 この技術は、先進的な機械学習、物体認識アルゴリズム、高度なグラフィックスソフトウェア、ディープおよびダークウェブ、ニューラルネットワークアーキテクチャを活用して、画像やスキャンした紙のドキュメントからテキスト情報を正確に識別し抽出します。 光学文字認識(OCR)や深層学習などの様々な機械学習技術を採用することにより、視覚シーンのテキスト検出を編集可能で検索可能な構造化データおよび物体検出に自動的かつ効率的に変換します。

この進化する環境では、研究者と実務家は精度、速度、多様性の改善を継続的に追求し、印刷された文書のデジタル化、コンテンツインデックス化、翻訳、アクセシビリティ向上などのアプリケーションにおいて、画像、機械読み取り可能なデータ、およびスキャンした文書からのテキスト検出と抽出を要の要素としています。

この記事では、強力な機械学習アルゴリズムとテキスト関連機能を備えたOCRライブラリであるIronOCRを使用して、画像からテキストを抽出する方法を説明します。 テキスト抽出、またはキーワード抽出としても知られるこのプロセスは、機械学習に基づいており、構造化されていないデータまたは企業の中枢データベースから関連するまたは基本的な単語やフレーズを自動的にスキャンし抽出します。

機械学習を使用して画像からテキストを抽出する方法

  1. 画像からテキストを抽出するためのC#ライブラリをダウンロードします。
  2. シーンテキスト認識用にOcrInputオブジェクトをインスタンス化して特定の画像をロードします。
  3. ocrTesseract.Readメソッドを使用して画像からデータを抽出します。
  4. Console.WriteLineメソッドを使用してコンソールに抽出されたテキストを出力します。
  5. CropRectangleオブジェクトを使用して画像の領域でOCRを実行します。

IronOCR - 光学文字認識(OCR)ライブラリ

IronOCRは、画像や文書からのテキスト抽出技術の最前線に立つ、著名で洗練された光学文字認識(OCR)ソフトウェアです。 Iron Softwareによって開発されたこの強力なOCRエンジンは、スキャンした画像、PDF、またはテキストの写真さえも正確かつ効率的に編集可能で検索可能なデジタルコンテンツに変換するように設計されています。 機械学習アルゴリズムとニューラルネットワークの巧みな使用により、IronOCRはデータ抽出、コンテンツインデックス化、正確なテキスト認識を必要とする自動化プロセスなど様々なアプリケーション向けの堅牢なソリューションを提供します。

複数の言語や多様なフォントに対応できる能力により、ソフトウェアやアプリケーションでテキスト認識アルゴリズムの抽出機能を求める開発者や企業にとって多用途のツールとなっています。 IronOCRを使用して、一般的なテキスト認識技術を用いて未構造データを完全にスキャンされたページとしてテキスト抽出アルゴリズムで変換することができます。

IronOCRのインストール

IronOCRはNuGetパッケージマネージャーを使用してインストールできます。 IronOCRをインストールする手順は次の通りです:

  1. まず、新しいC# Visual Studioプロジェクトを作成するか既存のものを開きます。

Visual Studio

  1. プロジェクトを作成したら、上部メニューのツールに行き、NuGetパッケージマネージャーを選択した後、ソリューション用NuGetパッケージマネージャーを選択します。

ツールメニュー

  1. 新しいウィンドウが画面に表示されます。 ブラウズタブに移動し、検索バーにIronOCRを入力します。
  2. IronOCRパッケージのリストが表示されます。 最新のものを選択し、インストールをクリックします。

IronOCR

  1. インターネット接続によりますが、数秒かかります; その後、IronOCRはC#プロジェクトで使用可能です。

画像から編集可能で検索可能なデータへのテキスト検出

IronOCRを使用して、画像処理技術と機械学習を用いて簡単にテキストを抽出できます。 このセクションでは、IronOCRを使用して画像からテキストを抽出する方法を説明します。

using IronOcr;
using System;

// Create a new instance of the IronTesseract class
var ocrTesseract = new IronTesseract();

// Specify the image path and perform OCR on the image
using (var ocrInput = new OcrInput(@"images\image.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Print the extracted text to the console
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;

// Create a new instance of the IronTesseract class
var ocrTesseract = new IronTesseract();

// Specify the image path and perform OCR on the image
using (var ocrInput = new OcrInput(@"images\image.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Print the extracted text to the console
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System

' Create a new instance of the IronTesseract class
Private ocrTesseract = New IronTesseract()

' Specify the image path and perform OCR on the image
Using ocrInput As New OcrInput("images\image.png")
	Dim ocrResult = ocrTesseract.Read(ocrInput)

	' Print the extracted text to the console
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

このC#コードは光学文字認識(OCR)のためのライブラリであるIronOCRの使用法を示しています。 ステップバイステップの説明は以下の通りです:

  1. ライブラリのインポート

    using IronOcr;
    using System;
    using IronOcr;
    using System;
    Imports IronOcr
    Imports System
    $vbLabelText   $csharpLabel

    コードはまず必要なライブラリをインポートします。これにはOCR機能を提供するIronOcrと一般的な機能のためのSystem名前空間が含まれます。

  2. IronTesseractの初期化および画像の読み込み

    var ocrTesseract = new IronTesseract();
    var ocrTesseract = new IronTesseract();
    IRON VB CONVERTER ERROR developers@ironsoftware.com
    $vbLabelText   $csharpLabel

    この行はIronOCRが提供するOCRエンジンであるIronTesseractのインスタンスを生成します。

    using (var ocrInput = new OcrInput(@"images\image.png"))
    using (var ocrInput = new OcrInput(@"images\image.png"))
    Using ocrInput As New OcrInput("images\image.png")
    $vbLabelText   $csharpLabel

    OcrInputオブジェクトは処理される画像へのパスを指定してインスタンス化されます。 この場合、画像ファイルは"images"ディレクトリ内の"image.png"です。

  3. OCRの実行およびテキストの抽出

    var ocrResult = ocrTesseract.Read(ocrInput);
    var ocrResult = ocrTesseract.Read(ocrInput);
    IRON VB CONVERTER ERROR developers@ironsoftware.com
    $vbLabelText   $csharpLabel

    この行は、IronTesseractインスタンスのReadメソッドを呼び出し、OcrInputオブジェクトを渡します。 このメソッドは指定された画像に対してOCRを実行し、テキストを抽出します。

  4. 抽出されたテキストの表示

    Console.WriteLine(ocrResult.Text);
    Console.WriteLine(ocrResult.Text);
    Console.WriteLine(ocrResult.Text)
    $vbLabelText   $csharpLabel

    最後に、抽出されたテキストはConsole.WriteLineを使用してコンソールに出力され、画像から得られたOCR結果を表示します。

このコードスニペットはIronOCRを使用して指定された画像のテキスト認識にOCRを実行し、抽出されたテキストをコンソールに出力します。

入力画像

Invoice

出力

顧客請求書出力

画像の指定された領域でOCRを実行

IronOCRを使用して画像の特定の領域でOCRを実行することもできます。 ここにコード例があります:

using IronOcr;
using IronSoftware.Drawing;
using System;

// Create a new instance of the IronTesseract class
var ocrTesseract = new IronTesseract();

// Specify the region on the image to be processed
using (var ocrInput = new OcrInput())
{
    var ContentArea = new CropRectangle(x: 20, y: 20, width: 400, height: 50);

    // Add the image with the defined content area
    ocrInput.AddImage("r3.png", ContentArea);

    // Perform OCR on the specified region and extract text
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Print the extracted text to the console
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
using System;

// Create a new instance of the IronTesseract class
var ocrTesseract = new IronTesseract();

// Specify the region on the image to be processed
using (var ocrInput = new OcrInput())
{
    var ContentArea = new CropRectangle(x: 20, y: 20, width: 400, height: 50);

    // Add the image with the defined content area
    ocrInput.AddImage("r3.png", ContentArea);

    // Perform OCR on the specified region and extract text
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Print the extracted text to the console
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Create a new instance of the IronTesseract class
Private ocrTesseract = New IronTesseract()

' Specify the region on the image to be processed
Using ocrInput As New OcrInput()
	Dim ContentArea = New CropRectangle(x:= 20, y:= 20, width:= 400, height:= 50)

	' Add the image with the defined content area
	ocrInput.AddImage("r3.png", ContentArea)

	' Perform OCR on the specified region and extract text
	Dim ocrResult = ocrTesseract.Read(ocrInput)

	' Print the extracted text to the console
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

このC#コードは光学文字認識(OCR)のためのIronOCRライブラリを利用しています。 まず必要なライブラリをインポートし、IronOCRとSystemを含めます。 OCRエンジンであるIronTesseractインスタンスが作成されます。 コードは画像における特定のContentAreaをCropRectangleを使用して設定し、定義された領域に焦点を当てます。 この指定された領域内の画像("r3.png")がOCR処理のために追加されます。 OCRエンジンは指定されたコンテンツ領域を読み込み、テキストを抽出し、結果のテキストはConsole.WriteLineを使用してコンソールに出力されます。

出力

Output

結論

機械学習、特にIronOCRのような光学文字認識(OCR)ライブラリを用いた画像からのテキスト抽出は、コンピュータビジョンと自然言語処理の交差点で変革的な進歩を示しています。 OCR技術と深層学習技術の両方が重要な役割を果たし、視覚テキストを効率的に編集可能で検索可能なデータに変換し、文書のデジタル化、コンテンツインデックス化、およびアクセシビリティ強化などの重要な目的に役立ちます。

著名なOCRライブラリであるIronOCRは、スキャンした画像とPDFを正確に多言語およびフォントスタイルでデジタルで編集可能なコンテンツに変換するこの融合の可能性を示しています。 C#のようなプログラミング言語へのシームレスな統合により、多数のアプリケーションやドメインにおける画像からのテキスト抽出の変革的影響をさらに強化しています。

IronOCRおよび関連するすべての機能について詳しくは、こちらのリンクここをご覧ください。 画像からテキストを抽出する完全なチュートリアルは、次のリンクで利用可能です。 IronOCRライセンスは、このリンクから購入できます。