フッターコンテンツにスキップ
IRONOCRの使い方

C#でのスクリーンショットからのテキスト取得方法

"OCR スクリーンショットとは何ですか?"と疑問に思う人がたくさんいるかもしれません。また、テキストのスクリーンショットをデジタルテキスト編集可能な形式、つまり .txt や .doc 形式に変換する方法が知りたい人もいるかもしれません。 あなたがそのような人々の一人であれば、もう心配する必要はありません。私たちがあなたにぴったりの解決策を用意しています。

この記事では、スクリーンショットで OCR (光学式文字認識) を実行できるさまざまなツールについて説明します。

世の中には多くの OCR ツールがありますが、今日はIronOCRを使用してスクリーンショットからテキストを抽出します。

1. IronOCR

IronOCR は、開発者がアプリケーションに OCR (光学式文字認識) 機能を追加できるように設計された、C# および VB.NET プログラミング言語用のソフトウェア ライブラリです。 このライブラリを使用すると、画像内のテキストを認識し、機械が読み取り可能なテキストに変換できます。 このライブラリは、最も正確な OCR エンジンの 1 つと考えられている Tesseract OCR エンジン上に構築されています。

IronOCR は、PNG、JPG、TIFF、PDF など、さまざまなファイル形式の画像からテキストを読み取るために使用できます。 また、複数の言語を認識する機能や、回転または傾斜した画像からテキストを認識する機能など、テキスト認識を操作するためのさまざまな高度な機能も提供します。 さらに、開発者は IronOCR を使用することで、C# または VB.NET コードから呼び出すことができるシンプルで使いやすい API が提供され、OCR 機能をアプリケーションに迅速に統合できます。 IronOCR を使用すると、OCR 言語を選択し、画像、デジタル PDF ファイル、スキャンされた PDF ファイルに対して OCR を実行できます。

IronOCR は、アプリケーションに OCR 機能を追加したい開発者にとって良い選択肢と考えられています。 オープンソースで、使いやすく統合も簡単で、高速かつ正確で、最新の OCR テクノロジーを搭載しています。

2. IronOCRの機能

IronOCR は、開発者が OCR 機能をアプリケーションに統合するのに役立つ幅広い機能を提供します。 IronOCR の主な機能は次のとおりです。

1.多言語サポート:IronOCR は、英語、スペイン語、ドイツ語、フランス語、イタリア語、中国語など、60 を超える言語のテキストを認識できます。 2.テキストの向きの自動検出:IronOCR は、画像が回転したり傾斜したりしている場合でも、画像内のテキストの向きを自動的に検出できます。 3.幅広い画像形式のサポート:IronOCR は、PNG、JPG、 TIFFPDFなど、さまざまなファイル形式の画像からテキストを読み取ることができます。 4.カスタマイズ可能な認識設定: 開発者は認識設定をカスタマイズして、特定の種類の画像やユースケースの認識精度を向上させることができます。

  1. スキャンされた文書や複数ページの PDF からテキストを認識する機能。 6.高速認識と高精度: IronOCR は、最も正確で広く使用されている OCR エンジンの 1 つである Tesseract OCR エンジンを使用します。 7.使いやすい API : IronOCR は、C# または VB.NET コードから呼び出すことができるシンプルで使いやすい API を提供するため、OCR 機能を任意のアプリケーションに簡単に統合できます。

全体として、IronOCR は、開発者がアプリケーションに OCR 機能を追加するのに役立つ幅広い機能を提供する強力なツールです。

3. Visual Studioで新しいプロジェクトを作成する

Visual Studio を開いて、ファイル メニューに移動します。 "新しいプロジェクト"を選択し、"コンソール アプリケーション"を選択します。

プロジェクト名を入力し、パスを適切なテキストボックスに選択します。 その後、[作成]ボタンをクリックします。 下のスクリーンショットのように、必要な.NETフレームワークを選択します。

! C#でスクリーンショットからテキストをOCRで取得する方法、図1: Visual Studioで新しいプロジェクトを作成する Visual Studioで新しいプロジェクトを作成する

Visual Studioプロジェクトは、コンソールアプリケーションの構造を生成します。 完了すると、 program.csファイルが開き、ソース コードを記述して実行できるようになります。

! C#でスクリーンショットからテキストをOCRで取得する方法、図2: Visual Studioの新規プロジェクトウィザードから生成されたprogram.csファイル Visual Studioの新規プロジェクトウィザードから生成されたprogram.csファイル

これで、IronOCR ライブラリを追加してプログラムをテストできます。

4. IronOCRをインストールする

Visual Studio では、IronOCR を C# プロジェクトに簡単に統合できます。

IronOCR は、C# .NET プロジェクトと統合するための複数のプロセスを提供します。 ここでは、そのうちの 1 つ、NuGet パッケージ マネージャーを使用して IronOCR をインストールする方法について説明します。

Visual Studioで"ツール" > "NuGetパッケージマネージャー" > "パッケージマネージャーコンソール"に移動します。

! C#でスクリーンショットからテキストをOCRで取得する方法、図3: NuGetパッケージマネージャーUI NuGet パッケージ マネージャー UI

クリックすると、Visual Studio ウィンドウの下部に新しいコンソールが表示されます。 コンソールに以下のコマンドを入力し、Enter キーを押します。

Install-Package IronOcr

IronOCRはわずか数秒でインストールされます。

5. IronOCRを使用してスクリーンショットのOCRを実行する

IronOCR は、スクリーンショットからテキストを認識するために使用できる強力な OCR ライブラリです。 IronOCR を使用すると、テキストのスクリーンショットを撮り、ライブラリの OCR 機能を使用してスクリーンショット内のテキストをデジタルの編集可能な形式に変換できます。 以下は、IronOCR を使用して C# でスクリーンショットの OCR を実行する方法の例です。 スクリーンショット OCR を実行するには、スクリーンショットをキャプチャし、以下のコードを実行して、必要な出力形式でテキストを抽出します。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		' Create an instance of IronTesseract, the core OCR engine
		Dim ocr = New IronTesseract()

		' Perform OCR on the specified image file
		Dim result = ocr.Read("ocr.png")

		' Output the recognized text to the console
		Console.WriteLine(result.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

入力画像ファイル

! C#でスクリーンショットからテキストをOCRで取得する方法、図4: 入力に使用されるサンプルスクリーンショット 入力に使用したサンプルスクリーンショット

テキスト出力

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6. IronOCRを使用して特定のゾーンでOCRを実行する

IronOCR を使用すると、画像内の特定の領域で OCR を実行できます。 これは、画像に複数のテキスト領域が含まれており、特定の領域内のテキストのみを認識したい場合に役立ちます。 以下にこのサンプルコードを示します。

using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()

		Using ocrInput As New OcrInput()
			' Define the rectangle to crop the image for OCR
			Dim contentArea = New CropRectangle(x:= 0, y:= 0, width:= 350, height:= 150)

			' Add the image with the specified cropping area
			ocrInput.AddImage("ocr.png", contentArea)

			' Perform the OCR operation on the defined area
			Dim ocrResult = ocrTesseract.Read(ocrInput)

			' Output the recognized text
			Console.WriteLine(ocrResult.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

出力

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs

7. IronOCRを使用して画像のOCRを実行する

画像に対して OCR を実行し、認識されたテキストを .txt ファイルに保存するには、次のコードを使用できます。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Using input = New OcrInput("ocr.png")
			' Perform OCR on the image
			Dim result = ocr.Read(input)

			' Save the recognized text to a .txt file
			result.SaveAsTextFile("output.txt")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

出力ファイルの内容は以下のとおりです。

! C#でスクリーンショットからテキストをOCRで取得する方法、図5: 生成されたoutput.txtファイルの内容 生成されたoutput.txtファイルの内容

8. さらに詳しく

画像に対して OCR を実行する方法の詳細については、画像テキスト抽出チュートリアルをお読みください。

IronOCR は、さまざまな種類のドキュメントを処理するために設計された 5 つの .NET ライブラリスイートの一部です。 わずか 2 つのライセンスの価格で 5 つのライブラリすべてを購入できます。

よくある質問

C#でOCRを使用してスクリーンショットからテキストを抽出するにはどうすればよいですか?

IronOCRをC#で使用してスクリーンショットからテキストを抽出することができます。そのシンプルなAPIを駆使して、スクリーンショットをデジタルテキスト編集可能な形式に変換できます。まず、Visual StudioでNuGetを介してIronOCRをインストールし、次にIronOCRが提供するコード例を使用してスクリーンショット画像でOCRを実行します。

光学文字認識(OCR)とは何ですか?

光学文字認識(OCR)は、スキャナで読み取った紙の書類やPDFファイル、デジタルカメラで撮影された画像など、さまざまな種類のドキュメントを編集可能で検索可能なデータに変換する技術です。IronOCRは、アプリケーション内でOCRを容易にするC#ライブラリです。

IronOCRは複数の言語に対応してOCRを実行できますか?

はい、IronOCRは60以上の言語でテキストの認識をサポートしており、国際的なアプリケーションに適しています。テキスト抽出の精度を確保するために言語設定を行うオプションを提供しています。

IronOCRはOCR用のどの画像形式をサポートしていますか?

IronOCRは、PNG、JPG、TIFF、PDFを含むさまざまな画像形式でOCRをサポートしています。この柔軟性により、開発者はフォーマットを手動で変換することなく、広範な画像ソースを使用して作業できます。

テキストの方向はOCRの精度にどのように影響しますか?

テキストの方向はOCRの精度に大きく影響します。IronOCRは自動的に画像のテキストの方向を検出して修正し、回転または傾斜しているテキストを正確に認識し、デジタル形式に変換します。

C#プロジェクトにIronOCRをインストールするにはどうすればよいですか?

C#プロジェクトにIronOCRをインストールするには、Visual StudioのNuGetパッケージマネージャーを使用します。IronOCRを検索してプロジェクトにインストールし、画像からテキストを抽出するためのOCR機能を使用し始めることができます。

テキスト認識にIronOCRを使用する利点は何ですか?

IronOCRは、強力な多言語サポート、自動テキスト方向修正、複数画像形式のサポート、および認識精度を向上させるためのカスタマイズ設定など、いくつかの利点を提供します。そのシンプルなAPIは、C#アプリケーションへの簡単な統合を促進します。

IronOCRは画像の特定の領域内のテキストを認識するのに適していますか?

はい、IronOCRは開発者が画像内の特定の領域を定義してOCRを実行し、ターゲットとなるテキストを抽出できるようにします。これは、画像の一部分のみが関連するテキストを含むシナリオで役立ちます。

OCRの問題に関する一般的なトラブルシューティングのヒントは何ですか?

OCRの問題に関する一般的なトラブルシューティングのヒントには、画像が鮮明で高解像度であることを確認すること、テキストの方向を確認すること、適切な言語が設定されていることを確認すること、および最適なパフォーマンスのためにIronOCRを最新バージョンに更新することが含まれます。

OCR結果を.txtまたは.docファイルに変換するにはどうすればよいですか?

IronOCRを使用すると、画像からテキストを抽出し、C#の標準ファイルI/O操作を使用してそれを保存することによって、OCR結果を.txtまたは.docファイルに変換できます。これにより、画像ベースのテキストから編集可能なドキュメントを作成できます。

Kannaopat Udonpant
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、Kannapatは北海道大学で環境資源の博士号を修了しました。博士号を追求する間に、彼はバイオプロダクションエンジニアリング学科の一部である車両ロボティクスラボラトリーのメンバーになりました。2022年には、C#のスキルを活用してIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。Kannapatは、IronPDFの多くのコードを執筆している開発者から直接学んでいるため、この仕事を大切にしています。同僚から学びながら、Iron Softwareでの働く社会的側面も楽しんでいます。コードやドキュメントを書いていない時は、KannapatはPS5でゲームをしたり、『The Last of Us』を再視聴したりしていることが多いです。