C＃および.Netでの日本のOCR
Published: 2022-02-14 07:46:49

---
canonical_url: https://ironsoftware.com/csharp/ocr/languages/japanese-ja/
---

このドキュメントの他のバージョン：

- [日本語で](https://ironsoftware.com/csharp/ocr/languages/japanese-ja)
- [英語 (This Page in English)](https://ironsoftware.com/csharp/ocr/languages/japanese)
- [その他の言語](https://ironsoftware.com/csharp/ocr/)

## IronOcr.Languages.Japaneseの内容

このパッケージには、.NET用の286のOCR言語が含まれています。

- JapaneseAlphabet
- JapaneseAlphabetBest
- JapaneseAlphabetFast
- JapaneseVerticalAlphabet
- JapaneseVerticalAlphabetBest
- JapaneseVerticalAlphabetFast
- 日本語
- JapaneseBest
- JapaneseFast
- JapaneseVertical
- JapaneseVerticalBest
- JapaneseVerticalFast

## インストール

最初に行う必要があるのは、日本語のOCRパッケージを.NETプロジェクトにインストールすることです。

`PM> Install-Package IronOCR.Languages.Japanese`

## コード例

このC＃コード例は、画像またはPDFドキュメントから日本語のテキストを読み取ります。

**C#:**
```
//PM> Install-Package IronOcr.Languages.Japanese
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput(@"images\Japanese.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
```

**VB:**
```
'PM> Install-Package IronOcr.Languages.Japanese
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput("images\Japanese.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
```

## IronOCRを選択する理由

Iron OCRは、インストールが簡単で、完全で、十分に文書化された.NETソフトウェアライブラリです。

IronOCRを選択すると、外部Webサービス、継続的な料金を使用したり、インターネット経由で機密文書を送信したりすることなく、 99.8％以上のOCR精度を実現できます。

**C＃開発者がVanillaTesseractよりもIronOCRを選択する理由：**

- 単一のDLLまたはNugetとしてインストールします
- 箱から出してすぐに使えるTesseract5、4、3エンジンが含まれています。
- 精度99.8％は、通常のTesseractを大幅に上回っています。
- 驚異的なスピードとマルチスレッド
- MVC、WebApp、デスクトップ、コンソール、サーバーアプリケーションと互換性があります
- 使用するExesまたはC ++コードはありません
- 完全なPDFOCRサポート
- OCRを実行するには、ほぼすべての画像ファイルまたはPDF
- .Net Core、Standard、FrameWorkの完全サポート
- Windows、Mac、Linux、Azure、Docker、Lambda、AWSにデプロイする
- バーコードとQRコードを読む
- XHTMLに関してOCRをエクスポートする
- OCRを検索可能なPDFドキュメントにエクスポートする
- マルチスレッドのサポート
- すべてNugetまたはOcrDataファイルを介して管理される126の国際言語
- 画像、座標、統計、フォントを抽出します。テキストだけではありません。
- TesseractOCRを商用および独自のアプリケーション内で再配布するために使用できます。

_Iron OCRは、実際の画像や写真などの不完全なドキュメント、またはデジタルノイズや欠陥がある可能性のある低解像度のスキャンを処理するときに光ります。_

他の.nettesseract APIやWebサービスなどの.NETプラットフォーム用の他の無料のOCRライブラリは、これらの実際のユースケースではあまりうまく機能しません。

## Tesseract 5を使用したOCR-C＃でコーディングを開始

以下のコードサンプルは、C＃またはVB.NETを使用して画像からテキストを読み取るのがいかに簡単かを示しています。

### 一発ギャグ

**C#:**
```
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```

**VB:**
```
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
```

### 構成可能なHelloWorld

**C#:**
```
// PM> Install-Package IronOCR.Languages.Japanese
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//...画像はいくつでも追加できます
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```

**VB:**
```
' PM> Install-Package IronOCR.Languages.Japanese
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
```

### C＃PDF OCR

同じアプローチを同様に使用して、PDFドキュメントからテキストを抽出できます。

**C#:**
```
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// OCRに特定のPDFページ番号を選択することもできます
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// PDFのページごとに1ページ
}
```

**VB:**
```
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' OCRに特定のPDFページ番号を選択することもできます
Dim Result = Ocr.Read(input)
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' PDFのページごとに1ページ
End Using
```

### マルチページTIFFのOCR

複数ページのドキュメントを含むOCR読み取りTIFFファイル形式。 TIFFは、検索可能なテキストを含むPDFファイルに直接変換することもできます。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
```

### バーコードとQR

Iron OCRのユニークな機能は、テキストのスキャン中にドキュメントからバーコードとQRコードを読み取ることができることです。 `OcrResult.OcrBarcode`クラスのインスタンスは、スキャンされた各バーコードに関する詳細情報を開発者に提供します。

**C#:**
```
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// タイプと場所のプロパティも公開
}
}
```

**VB:**
```
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' タイプと場所のプロパティも公開
Next Barcode
End Using
```

### 画像の特定の領域でのOCR

Iron OCRのすべてのスキャンおよび読み取り方法は、1つまたは複数のページのどの部分からテキストを読み取りたいかを正確に指定する機能を提供します。これは、標準化されたフォームを検討しているときに非常に役立ち、非常に多くの時間を節約して効率を向上させることができます。

切り抜き領域を使用するには、 `System.Drawing`システム参照を追加して、 `System.Drawing.Rectangle`オブジェクトを使用できるようにする必要があります。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// 寸法はpx単位です
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' 寸法はpx単位です
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
```

### 低品質スキャン用のOCR

Iron OCR `OcrInput`クラスは、通常のTesseractが読み取れないスキャンを修正できます。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // デジタルノイズとスキャン不良を修正
Input.Deskew(); // 回転と遠近法を修正
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' デジタルノイズとスキャン不良を修正
Input.Deskew() ' 回転と遠近法を修正
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
```

### OCR結果を検索可能なPDFとしてエクスポートする

コピー可能なテキスト文字列を含む画像からPDFへ。検索エンジンとデータベースでインデックスを作成できます。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");
var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")
Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
```

### TIFFから検索可能なPDFへの変換

TIFFドキュメント（または画像ファイルの任意のグループ）を、イントラネット、Webサイト、およびGoogle検索エンジンでインデックスを作成できる検索可能なPDFに直接変換します。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
```

### OCRの結果をHTMLとしてエクスポートする

OCR画像からXHTMLへの変換。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
```

## OCR画像強調フィルター

IronOCRは、 `OcrInput`オブジェクトに独自のフィルターを提供して、OCRのパフォーマンスを向上させます。

### 画像強調コードの例

OCR入力画像を高品質にして、より良い、より高速なOCR結果を生成します。

**C#:**
```
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // デジタルノイズとスキャン不良を修正
Input.Deskew(); // 回転と遠近法を修正
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```

**VB:**
```
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' デジタルノイズとスキャン不良を修正
Input.Deskew() ' 回転と遠近法を修正
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
```

### OCR画像フィルターのリスト

IronOCRに組み込まれているOCRパフォーマンスを強化するための入力フィルターには次のものがあります。

- **OcrInput.Rotate（doubledegrees）** -画像を時計回りに数度回転します。反時計回りの場合は、負の数を使用します。
- **OcrInput.Binarize（）** -この画像フィルターは、すべてのピクセルを黒または白に変えます。テキストと背景のコントラストが非常に低いOCRパフォーマンスのケースを改善する可能性があります。
- **OcrInput.ToGrayScale（）** -この画像フィルターは、すべてのピクセルをグレースケールの色合いに変換します。 OCRの精度を向上させる可能性は低いですが、速度を向上させる可能性があります
- **OcrInput.Contrast（）** -コントラストを自動的に上げます。このフィルターは、低コントラストスキャンでのOCR速度と精度を向上させることがよくあります。
- **OcrInput.DeNoise（）** -デジタルノイズを除去します。このフィルターは、ノイズが予想される場合にのみ使用してください。
-** OcrInput.Invert（）** -すべての色を反転します。例：白が黒になります：黒が白になります。
- **OcrInput.Dilate（）** -高度な形態。拡張は、画像内のオブジェクトの境界にピクセルを追加します。エロードの反対
- **OcrInput.Erode（）** -高度な形態。侵食により、オブジェクト境界のピクセルが削除されます。拡張の反対側
- **OcrInput.Deskew（）** -画像を回転させて、正しい方向に直交します。スキュースキャンのTesseract許容値は5度まで低くなる可能性があるため、これはOCRに非常に役立ちます。
- **OcrInput.DeepCleanBackgroundNoise（）** -重いバックグラウンドノイズの除去。このフィルターは、ドキュメントの極端なバックグラウンドノイズがわかっている場合にのみ使用してください。このフィルターは、クリーンなドキュメントのOCR精度を低下させるリスクがあり、CPUに非常にコストがかかるためです。
- **OcrInput.EnhanceResolution**-低品質の画像の解像度を向上させます。 _OcrInput.MinimumDPI_および_OcrInput.TargetDPI_は低解像度の入力を自動的にキャッチして解決するため、このフィルターはあまり必要ありません。


**CleanBackgroundNoise**。これはやや時間がかかる設定です。ただし、ライブラリは、デジタルノイズ、紙のしわ、およびデジタル画像内の他の欠陥を自動的にクリーンアップすることができます。そうしないと、他のOCRライブラリで読み取ることができなくなります。

**EnhanceContrast**は、Iron OCRが画像の背景に対するテキストのコントラストを自動的に高め、OCRの精度を高め、一般的にOCRのパフォーマンスと速度を向上させる設定です。

**EnhanceResolution**は、低解像度の画像（275 dpi未満）を自動的に検出し、画像を自動的に拡大してから、すべてのテキストをシャープにして、OCRライブラリで完全に読み取れるようにする設定です。この操作自体には時間がかかりますが、通常、画像に対するOCR操作の全体的な時間が短縮されます。

**言語**IronOCRは22の国際言語パックをサポートしており、言語設定を使用して、OCR操作に適用する1つ以上の複数の言語を選択できます。

**ストラテジー**アイアンOCRは2つのストラテジーをサポートしています。ドキュメントの高速で精度の低いスキャンを選択するか、人工知能モデルを使用して文内の単語の相互の統計的関係を調べることでOCRテキストの精度を自動的に向上させる高度な戦略を使用するかを選択できます。 。

**ColorSpace**は、グレースケールまたはカラーでOCRを選択できる設定です。一般的に、グレースケールが最良のオプションです。ただし、色相が似ているが色が大きく異なるテキストや背景がある場合は、フルカラーの色空間を使用するとより良い結果が得られることがあります。

**DetectWhiteTextOnDarkBackgrounds**。一般に、すべてのOCRライブラリは、白い背景に黒いテキストが表示されることを想定しています。この設定により、Iron OCRはネガ、または白いテキストのある暗いページを自動的に検出し、それらを読み取ることができます。

**InputImageType**。この設定により、開発者はOCRライブラリをガイドして、ドキュメント全体を表示しているか、スクリーンショットなどのスニペットを表示しているかを確認できます。

**RotateAndStraighten**は、Iron OCRが回転するだけでなく、テキストドキュメントの写真などの遠近法を含むドキュメントを読み取る独自の機能を可能にする高度な設定です。

**ReadBarcodes**は、Iron OCRがテキストを読み取るときに、ページ上のバーコードとQRコードを自動的に読み取ることができる便利な機能であり、大きな時間の負担を追加することはありません。

**色深度**。この設定は、OCRライブラリが色の深さを決定するために使用するピクセルあたりのビット数を決定します。色深度を高くすると、OCRの品質が向上する可能性がありますが、OCR操作の完了に必要な時間も長くなります。

## 126言語パック

Iron OCRは、DLLとして配布される言語パックを介して126の国際言語をサポートします。これは、[このWebサイトから](https://ironsoftware.com/csharp/ocr/languages/)、または[NuGetパッケージマネージャー](https://www.nuget.org/packages?q=IronOcr.Languages)から[ダウンロード](https://ironsoftware.com/csharp/ocr/languages/)できます。

言語には、ドイツ語、フランス語、英語、中国語、日本語などがあります。パスポートMRZ、MICRチェック、財務データ、ナンバープレートなどの専門言語パックがあります。自分で作成したファイルも含め、任意のtesseract「.traineddata」ファイルを使用することもできます。

### 言語の例

他のOCR言語を使用する。

**C#:**
```
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// 必要に応じて画像フィルターを追加します
// この場合、入力が非常に低品質であると考えても
// IronTesseractは、従来のTesseractでは読み取れないものを読み取ることができます。
var Result = Ocr.Read(input);
// コンソールはWindowsでアラビア語を簡単に印刷できません。
// 代わりにディスクに保存しましょう。
Result.SaveAsTextFile("arabic.txt");
}
```

**VB:**
```
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' 必要に応じて画像フィルターを追加します
' この場合、入力が非常に低品質であると考えても
' IronTesseractは、従来のTesseractでは読み取れないものを読み取ることができます。
Dim Result = Ocr.Read(input)
' コンソールはWindowsでアラビア語を簡単に印刷できません。
' 代わりにディスクに保存しましょう。
Result.SaveAsTextFile("arabic.txt")
End Using
```

### 多言語の例

複数の言語を同時に使用してOCRを実行することもできます。これは、Unicodeドキュメントで英語のメタデータとURLを取得するのに役立ちます。

**C#:**
```
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Japanese);
// 言語はいくつでも追加できます
using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
```

**VB:**
```
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Japanese)
' 言語はいくつでも追加できます
Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
```

## 詳細なOCR結果オブジェクト

Iron OCRは、OCR操作ごとにOCR結果オブジェクトを返します。通常、開発者はこのオブジェクトのtextプロパティのみを使用して、画像からテキストをスキャンします。ただし、OCR結果のDOMはこれよりもはるかに高度です。

**C#:**
```
using IronOcr;
using System.Drawing; //アセンブリ参照を追加
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Japanese;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //！重要
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// ここを探索して、大規模で詳細なAPIを見つけてください。
// -ページ、ブロック、パラファフ、行、単語、文字
// -画像のエクスポート、フォント座標、統計データ
}
```

**VB:**
```
Imports IronOcr
Imports System.Drawing 'アセンブリ参照を追加
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Japanese
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '！重要
Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' ここを探索して、大規模で詳細なAPIを見つけてください。
' -ページ、ブロック、パラファフ、行、単語、文字
' -画像のエクスポート、フォント座標、統計データ
End Using
```

## パフォーマンス

IronOCRは、パフォーマンスを調整したり、入力画像を大幅に変更したりすることなく、箱から出してすぐに機能します。

スピードは驚異的です：IronOcr.2020 +は、以前のビルドよりも最大10倍高速で、エラーが250％以上少なくなります。

## もっと詳しく知る

C＃、VB、F＃、またはその他の.NET言語でのOCRの詳細について[は、コミュニティチュートリアル](https://ironsoftware.com/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/)をお[読みください。このチュートリアルでは](https://ironsoftware.com/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/)、Iron OCRの使用方法の実例が示され、最大限に活用する方法の微妙な違いが示されている場合があります。このライブラリ。

[.NET開発者向けの](https://ironsoftware.com/csharp/ocr/object-reference/api/)完全な[オブジェクトリファレンス](https://ironsoftware.com/csharp/ocr/object-reference/api/)も利用できます。