システム.Drawing オブジェクトから読み取る方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

によって チャクニット・ビン

System.Drawing.Bitmapは、ビットマップ画像を操作するために使用される.NET Frameworkのクラスです。 ビットマップ画像を作成、操作、および表示するためのメソッドとプロパティを提供します。

System.Drawing.Image は、.NET フレームワークにおけるすべての GDI+ イメージ オブジェクトのベースクラスです。 これは、System.Drawing.Bitmap を含むさまざまな画像タイプの親クラスです。

IronSoftware.Drawing.AnyBitmapは、Bitmapクラスです アイアンドローイング (アイアンドローイング (IronDrawing)), Iron Software によって最初に開発されたオープンソースライブラリ。 それは C# ソフトウェアエンジニアが Windows、macOS、および Linux プラットフォーム上の .NET プロジェクトで System.Drawing.Common を置き換えるのに役立ちます。


OCR 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronOcr
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

OCR 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronOcr
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronOCR オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、OCRをC#で変革しています。

OCR 用 C# NuGet ライブラリ nuget.org/packages/IronOcr/
Install-Package IronOcr

インストールを検討してください IronOCR DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronOcr.zip

プロジェクトに手動でインストールする

DLLをダウンロード

System.Drawing.Bitmapの読み取り例

まず、OCRを実行するためにIronTesseractクラスをインスタンス化します。 さまざまな方法の一つを使用して、System.Drawing.Bitmapを作成します。 コード例では、ファイルパスを使用することにしました。

次に、'using'ステートメントを使用してOcrImageInputオブジェクトを作成し、System.Drawing.Bitmapオブジェクトから画像を渡します。 最後に、OCRを実行するためにReadメソッドを使用します。

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-bitmap.cs
using IronOcr;
using System.Drawing;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Read image file to Bitmap
Bitmap bitmap = new Bitmap("Potter.tiff");

// Import System.Drawing.Bitmap
using var imageInput = new OcrImageInput(bitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to Bitmap
Private bitmap As New Bitmap("Potter.tiff")

' Import System.Drawing.Bitmap
Private imageInput = New OcrImageInput(bitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

システムの System.Drawing.Image を読み込む例

System.Drawing.Imageからの読み取りは、画像を使用してOcrImageInputオブジェクトを作成し、標準的なOCRプロセスをReadメソッドで実行するだけで簡単に行うことができます。

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-image.cs
using IronOcr;
using Image = System.Drawing.Image;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Open image file as Image
Image image = Image.FromFile("Potter.tiff");

// Import System.Drawing.Image
using var imageInput = new OcrImageInput(image);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports Image = System.Drawing.Image

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Open image file as Image
Private image As Image = Image.FromFile("Potter.tiff")

' Import System.Drawing.Image
Private imageInput = New OcrImageInput(image)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

IronSoftware.Drawing.AnyBitmap 例を読む

同様に、AnyBitmapオブジェクトを作成または取得した後、OcrImageInputクラスを構築できます。 コンストラクタは、データのインポートに必要なすべての手順を処理します。 以下のコード例はこれを示しています。

:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-anybitmap.cs
using IronOcr;
using IronSoftware.Drawing;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Open image file as AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Import IronSoftware.Drawing.AnyBitmap
using var imageInput = new OcrImageInput(anyBitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Open image file as AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Import IronSoftware.Drawing.AnyBitmap
Private imageInput = New OcrImageInput(anyBitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

スキャン領域の指定

OCRImageInput クラスの構築では、スキャンする領域を指定できます。 これにより、OCRのための画像ドキュメントの特定の領域を定義することができます。 画像ドキュメントによっては、スキャン領域を指定することでパフォーマンスが大幅に向上する場合があります。 提供されたコード例では、章の番号とタイトルのみを抽出するように指定しています。

:path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output the result to console
Console.WriteLine(ocrResult.Text)
VB   C#

OCR結果

特定の領域を読み取る

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。