Azure用のOCRの開始

C# + VB.NET: 国際言語 国際言語
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

ocrTesseract.Language = OcrLanguage.Arabic;

using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(@"images\arabic.gif");
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}

// Example with a Custom Trained Font Being used:

var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);

using (var ocrInput = new OcrInput())
{
    ocrInput.LoadPdf(@"images\mixed-lang.pdf");
    var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()

ocrTesseract.Language = OcrLanguage.Arabic

Using ocrInput As New OcrInput()
	ocrInput.LoadImage("images\arabic.gif")
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using

' Example with a Custom Trained Font Being used:

Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)

Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("images\mixed-lang.pdf")
	Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using

IronOCRは125の国際言語をサポートしています。

英語(デフォルトでインストールされている)以外の言語パックは、NuGetを介して、または当社のWebサイトからダウンロードしてお使いの.NETプロジェクトに追加することができます。言語のページ.

ほとんどの言語は、Fast、Standardで利用可能です。(推奨される)最高品質。 ベストはより正確ですが、同時に遅くなります。

C# + VB.NET: 結果オブジェクト 結果オブジェクト
using IronOcr;
using IronSoftware.Drawing;

// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();

ocrTesseract.Configuration.ReadBarCodes = true;

using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);

OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
    // Page object
    int PageNumber = page.PageNumber;
    string PageText = page.Text;
    int PageWordCount = page.WordCount;
    // null if we dont set Ocr.Configuration.ReadBarCodes = true;
    OcrResult.Barcode[] Barcodes = page.Barcodes;
    AnyBitmap PageImage = page.ToBitmap(ocrInput);
    double PageWidth = page.Width;
    double PageHeight = page.Height;
    double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()

    foreach (var paragraph in page.Paragraphs)
    {
        // Pages -> Paragraphs
        int ParagraphNumber = paragraph.ParagraphNumber;
        string ParagraphText = paragraph.Text;
        AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
        int ParagraphX_location = paragraph.X;
        int ParagraphY_location = paragraph.Y;
        int ParagraphWidth = paragraph.Width;
        int ParagraphHeight = paragraph.Height;
        double ParagraphOcrAccuracy = paragraph.Confidence;
        OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
        foreach (var line in paragraph.Lines)
        {
            // Pages -> Paragraphs -> Lines
            int LineNumber = line.LineNumber;
            string LineText = line.Text;
            AnyBitmap LineImage = line.ToBitmap(ocrInput);
            int LineX_location = line.X;
            int LineY_location = line.Y;
            int LineWidth = line.Width;
            int LineHeight = line.Height;
            double LineOcrAccuracy = line.Confidence;
            double LineSkew = line.BaselineAngle;
            double LineOffset = line.BaselineOffset;
            foreach (var word in line.Words)
            {
                // Pages -> Paragraphs -> Lines -> Words
                int WordNumber = word.WordNumber;
                string WordText = word.Text;
                AnyBitmap WordImage = word.ToBitmap(ocrInput);
                int WordX_location = word.X;
                int WordY_location = word.Y;
                int WordWidth = word.Width;
                int WordHeight = word.Height;
                double WordOcrAccuracy = word.Confidence;
                foreach (var character in word.Characters)
                {
                    // Pages -> Paragraphs -> Lines -> Words -> Characters
                    int CharacterNumber = character.CharacterNumber;
                    string CharacterText = character.Text;
                    AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
                    int CharacterX_location = character.X;
                    int CharacterY_location = character.Y;
                    int CharacterWidth = character.Width;
                    int CharacterHeight = character.Height;
                    double CharacterOcrAccuracy = character.Confidence;
                    // Output alternative symbols choices and their probability.
                    // Very useful for spellchecking
                    OcrResult.Choice[] Choices = character.Choices;
                }
            }
        }
    }
}
Imports IronOcr
Imports IronSoftware.Drawing

' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()

ocrTesseract.Configuration.ReadBarCodes = True

Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)

Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
	' Page object
	Dim PageNumber As Integer = page.PageNumber
	Dim PageText As String = page.Text
	Dim PageWordCount As Integer = page.WordCount
	' null if we dont set Ocr.Configuration.ReadBarCodes = true;
	Dim Barcodes() As OcrResult.Barcode = page.Barcodes
	Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
	Dim PageWidth As Double = page.Width
	Dim PageHeight As Double = page.Height
	Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()

	For Each paragraph In page.Paragraphs
		' Pages -> Paragraphs
		Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
		Dim ParagraphText As String = paragraph.Text
		Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
		Dim ParagraphX_location As Integer = paragraph.X
		Dim ParagraphY_location As Integer = paragraph.Y
		Dim ParagraphWidth As Integer = paragraph.Width
		Dim ParagraphHeight As Integer = paragraph.Height
		Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
		Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
		For Each line In paragraph.Lines
			' Pages -> Paragraphs -> Lines
			Dim LineNumber As Integer = line.LineNumber
			Dim LineText As String = line.Text
			Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
			Dim LineX_location As Integer = line.X
			Dim LineY_location As Integer = line.Y
			Dim LineWidth As Integer = line.Width
			Dim LineHeight As Integer = line.Height
			Dim LineOcrAccuracy As Double = line.Confidence
			Dim LineSkew As Double = line.BaselineAngle
			Dim LineOffset As Double = line.BaselineOffset
			For Each word In line.Words
				' Pages -> Paragraphs -> Lines -> Words
				Dim WordNumber As Integer = word.WordNumber
				Dim WordText As String = word.Text
				Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
				Dim WordX_location As Integer = word.X
				Dim WordY_location As Integer = word.Y
				Dim WordWidth As Integer = word.Width
				Dim WordHeight As Integer = word.Height
				Dim WordOcrAccuracy As Double = word.Confidence
				For Each character In word.Characters
					' Pages -> Paragraphs -> Lines -> Words -> Characters
					Dim CharacterNumber As Integer = character.CharacterNumber
					Dim CharacterText As String = character.Text
					Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
					Dim CharacterX_location As Integer = character.X
					Dim CharacterY_location As Integer = character.Y
					Dim CharacterWidth As Integer = character.Width
					Dim CharacterHeight As Integer = character.Height
					Dim CharacterOcrAccuracy As Double = character.Confidence
					' Output alternative symbols choices and their probability.
					' Very useful for spellchecking
					Dim Choices() As OcrResult.Choice = character.Choices
				Next character
			Next word
		Next line
	Next paragraph
Next page

IronOCRは、Tesseract 5を使用してスキャンした各ページに対して高度な結果オブジェクトを返します。 次の各項目について 位置データ、画像、テキスト、統計的な信頼性、代替シンボルの選択、フォント名、フォントサイズの装飾、フォントの重み、位置 を含んでいます:

  • ページ
  • 段落
  • テキストの行
  • ワード
  • 個々の文字
  • バーコード

Human Support related to Azure OCR API (アジュール OCR API)

開発チームによる直接サポート

製品、統合、ライセンスに関するご質問がある場合、Iron製品開発チームがお客様のご質問に対応いたします。Ironと連絡を取り、プロジェクトでライブラリを最大限に活用するための対話を始めましょう。

質問する
Image To Text related to Azure OCR API (アジュール OCR API)

.NET 向け Azure 用 OCR 読取エンジン

不完全な画像を処理するためのMicrosoft Azure OCRソリューション

パスポートページ、請求書、銀行取引明細書、郵便物、名刺、または領収書など、光学文字認識(OCR)はパターン認識、コンピュータビジョン、および機械学習に基づく研究分野です。企業はOCRを部門横断的に利用し、会計および財務システム、ビジネスのデジタル化、企業コンテンツ管理、およびデータ報告システムでテキストを抽出します。

その他の成功事例の構築に加えて、IronOCRはGoogle TesseractおよびMicrosoft 2021 Azure Cognitive Servicesに価値を加えるIronOCR - ネイティブC# OCRライブラリです。

99%の精度で現実世界の画像を変換しようとしている場合は続けて読んでください。IronOCRを使用して効率的で正確でスケーラブルでほぼ人間のような光学文字認識アプリケーションを構築する方法を紹介します。

IronOCRは、市場競争力のある光学文字認識と市場をリードする光学文字認識の違いです。

光学文字認識(OCR)は、異なるAPIが保護に向けて主張する莫大な自信によって解決された現象と見なされています。しかし、さまざまな製品はしばしば硬直で不正確であり、現実世界のアプリケーションで失敗します。同様に、Tesseract OCRは機械印刷された高解像度の完璧なテキストで動作します。

良さそうに聞こえますか?

現実世界には常に高解像度で完全に印刷および手書きされたテキストがあるわけではありません。代わりに、回転、歪み、低DPI、バックグラウンドノイズ、およびデジタルの不完全性のすべての問題は、画像ファイルから手書きテキストを抽出することを含め、IronOCRによって処理されます。私たちはWindows、Linux、macOS、Microsoft Azure、AWS、Dockerを含むクロスプラットフォームサポートを提供し、99.8 - 100%の正確で検索可能なドキュメントを保証します。C#開発者がIronOCRを(基本的な)Tesseract OCRより選ぶ理由は、価値を追加することです。

最善を装備してください!

上記に加え、IronOCRはイメージドキュメントを迅速に処理するよう装備します。それがすべてではありません。IronOCR APIは以下の特徴をも備えています:

  • ほぼすべてのファイル、画像、PDFで例外的な精度と高速で印刷されたテキストをOCRで抽出します。
  • テキストをPDFや写真から検索可能なドキュメントに抽出し、完璧で視覚的および空間的に表現します。
  • exeやC++コードを必要としません。
  • 完全なPDF OCRサポート
  • MVC、WebApp、デスクトップ、コンソール、サーバーアプリケーションと互換性があります。
  • 完全な.NET Core、Standard、およびFrameworkサポート
  • C#およびVB .NETを利用した読み取り
  • OCRをXHTMLにエクスポート
  • マルチスレッディングをサポート
  • 125の国際言語をサポート - すぐに使える言語パックとカスタムビルド
  • 画像、座標、統計、フォントなどを抽出
  • 商業的および独自のアプリケーション内でTesseract OCRを再配布
  • SaaSを必要としないローカル実行
  • Microsoft Cognitive ServicesのOCRサービスに対する優れた代替策

実質無限の特徴 - IronOCRはデジタルワークスペースのための『決定的な』光学文字認識OCRツールです。

ネイティブ.dllまたは.exeのインストールから真の情報源への移行 - 単純なC# APIを使用して単一のネイティブ.NETコンポーネントライブラリを開発します。サポートするには:

  • .NET Framework 4.5以上
  • .NET Standard 2.0以上(3.xと.NET 5 Betaを含む)
  • .NET Core 2.0以上(3.xと.NET 5 Betaを含む)
  • .NET 5
  • macOS用Xamarin

IronOCR APIの技術を探求し続けてください。私たちはビジネスの複雑さを一歩ずつ削減し、信頼性のあるソリューションを開発し、ドキュメント処理アプリケーションを合理化し、業界をリードする機能を備えたビジネス収益を最大化することをお手伝いします。

  • 純粋な.NET OCR API機能
  • クラウドを必要としないローカルOCR動作は、より高いセキュリティを意味します。
  • 最適化された低品質でノイズがあり歪んだスキャンリソースを作成
  • PDF、多ページTIFFを読み取ります
  • ユーザーが検索可能なPDFドキュメントまたはXHTMLに任意のOCRスキャンサンプルを保存可能
  • Plain Text、Barcode Data、および段落、行、単語、文字を含むOCR Resultクラス

IronOCR API Edge:認知ビジョンを満たす?

私たちの光学文字認識プロセスは、画像ファイルを改善し、抽出応答率を向上させるための自動画像前処理から始まります。IronOCRは、例のベースイメージファイルを最適なバージョンに変換することで、あなたの作品に価値を加えます。IronOCRはすべての基礎をカバーします。

解像度の向上

IronOCRサービスは300DPI(ドット/インチ)の画像ファイルで最適に動作するため、200-300DPIの大きく外れた画像はターゲットレンジに収まるように再サンプリングされます。

これにより、600DPIの画像を300DPIにダウンサンプリングしたり、100DPIの画像を200DPIにアップサンプリングしたりすることが99%の信頼性で行われます。

二値化

IronOCR認知サービスはモノクロ画像で動作するように設計されているため、カラーまたはグレースケール画像は適応的な二値化アルゴリズムを使用してモノクロに変換されます。

アルゴリズムは、モノクロにピクセルを変換するために使用するしきい値を決定する領域内のピクセル密度を比較します。

自動回転とスキュー補正

IronOCRはテキストの行と文字パターンを見つけて、自動的に入力画像リソースをスキュー補正して回転し、希望の方向に整列します。

適応ノイズ除去

IronOCRを使用すると、画像ファイルはノイズの存在と量について自動的に分析されます。ノイズは基本的にスキャンされた画像で見られる「斑点」です。私たちの適応アルゴリズムは、ノイズ粒子のサイズに基づいてノイズを除去します。

サンプル画像ファイルが前処理されるとすぐに、IronOCRは入力画像ファイルを異なる処理ゾーンに分解します。

ゾーニング

もう一つの準備段階は、参照画像を異なる論理ゾーンに分解することです。IronOCRはまず空白やパターンを使って画像内のテキストと画像を特定し、テキスト領域を画像から分離します。

次に、ゾーン - 段落、列、テキストブロックに分割されます。画像と残りの非テキストピクセルは、テキスト認識中に省略するように特定され、スマートな出力に含まれます。IronOCRは、グリッドラインとテキストブロックを使ってテキストゾーンをテーブルとしてフラグを立てます。

テキスト認識機能

ユーザーが検索可能な単一行のテキストスレッドにピクセル塊を変換する複数の相互接続されたステップを実行します。これには文字のセグメンテーション、適応分類、辞書参照、および利得テキストに貢献するその他の関連プロセスが含まれます。

試してテスト済みの多様なパラメーター

IronOCR APIサービスを使用して、マイクロソフトオフィス形式での言語レベル、シンボル精度、レイアウト保持を含む多言語での複数データファイル例を通じて私たちのツールをテストしました。いくつかのパラメータは自動的にテストされますが、他のものは視覚的チェックを含みます。

IronOCRとつながる - 理想的なOCR認知サービスソリューション

IronOCRを使用すると、複数の入力形式を持つOCRクロスプラットフォーム機能を検索可能なプレーンテキスト文字列に追加できます。IronOCRで生産性を強化するために、IronOCRの使用ガイドを提供する無料のチュートリアルドキュメントを開始してください。今日、NuGetパッケージインストーラーをダウンロードし、無料トライアルキーで探究するか、24/7のパーソナルサポートに連絡してください。チームのサイズに関係なく、生涯ライセンスでニーズを拡張してください。

と互換性があります .NET, VB.NET, C#

ライセンスを表示
サポート:
  • .NET Framework 4.0 以降のバージョンはC#、VB、F#をサポートしています
  • マイクロソフト・ビジュアル・スタジオ. .NET開発IDEアイコン
  • Visual Studio 用 NuGet インストーラーサポート
  • JetBrains ReSharper C# 言語アシスタント対応
  • Microsoft Azure C# .NET ホスティングプラットフォーム互換

ライセンスおよび価格設定

無料のコミュニティ開発ライセンス。商用ライセンスは$749から。

プロジェクトC# + VB.NETライブラリライセンス

プロジェクト

C# + VB.NET ライブラリの開発者向けライセンス

開発者

組織 C# + VB.NET ライブラリライセンス

組織

エージェンシー C# + VB.NET ライブラリ ライセンス

エージェンシー

SaaS C# + VB.NET ライブラリのライセンス販売

SaaS

OEM C# + VB.NET ライブラリライセンス

OEM (オーイーエム)

すべてのライセンスオプションを表示  

.NETコミュニティからのOCRチュートリアル

.NET Tesseract の代替 | IronOCR

C# テッセラクト OCR (光学式文字認識)

ジム・ベイカーはIronでOCR製品を開発している開発エンジニアです。

.NETにおけるIronOCRとTesseractの比較

ジムはIronOCRの開発において主要な役割を果たしています。ジムは、OCR用の画像処理アルゴリズムと読み取り方式を設計・構築しています。

比較を見る
.NET でのテキストを画像に | チュートリアル

C# OCR (光学式文字認識) ASP.NET

ジェンマ・ベックフォード - マイクロソフトソリューションエンジニア

.NET 向けの Text from Images

ジェンマのチームが彼らのアーカイブソフトウェア用にIronOCRを使って画像からテキストを読み取る方法を学びましょう。ジェンマが自身のコードサンプルを共有しています。

Image to Text .NET チュートリアル
何千人もの開発者がIronOCRを使用しています…

会計および金融システム

  • # レシート
  • # レポーティング
  • # 請求書の印刷
ASP.NET会計および財務システムにPDFサポートを追加

ビジネスデジタル化

  • # ドキュメント
  • # 注文およびラベリング
  • # ペーパー置換
C# ビジネスデジタル化のユーザーケース

エンタープライズコンテンツ管理

  • # コンテンツ制作
  • # ドキュメント管理
  • # コンテンツ配信
.NET CMS PDFサポート

データおよびレポート作成アプリケーション

  • # パフォーマンストラッキング
  • # トレンドマッピング
  • # レポート
C# PDFレポート
Iron Software企業.NETコンポーネント開発者

数千の企業、政府機関、中小企業、および開発者がIron Software製品を信頼しています。

Ironのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験を有しています。

GE
フォーリー
ヴィレック
マルバル
ANZ
Equinor (Note:
Nexudus
メドコード