画像ファイルからテキストを抽出する方法

C#でIron Tesseractを使う方法

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

IronOCR は、Iron Tesseract と呼ばれるカスタマイズおよび最適化された Tesseract 5 を利用するための直感的な API を提供します。 IronOCR と IronTesseract を使用すると、テキストやスキャンした文書の画像をテキストおよび検索可能な PDF に変換できるようになります。

クイックスタート: C# で IronTesseract 構成を設定する

IronTesseract を使い始めるための非常に速い方法をご紹介します。 この例では、エンジンを起動し、いくつかの設定を微調整し、OCR を実行する方法を示します。イメージは 1 つだけ、呼び出しは 1 回だけで、定型文はありません。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    var result = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true, WhiteListCharacters = "ABCabc123" } }.Read(new IronOcr.OcrInput("image.png"));
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer

IronTesseractインスタンスを作成する

Tesseract オブジェクトを次のように初期化するだけです。

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs
using IronOcr;

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

さまざまな言語を選択したり、バーコードの読み取りを有効にしたり、文字をホワイトリスト/ブラックリストに登録したりすることで、IronTesseract の動作をカスタマイズできます。

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.cs
IronTesseract ocr = new IronTesseract
{
    Configuration = new TesseractConfiguration
    {
        ReadBarCodes = false,
        RenderHocr = true,
        TesseractVariables = null,
        WhiteListCharacters = null,
        BlackListCharacters = "`ë|^",
    },
    MultiThreaded = false,
    Language = OcrLanguage.English,
    EnableTesseractConsoleMessages = true, // False as default
};
Dim ocr As New IronTesseract With {
	.Configuration = New TesseractConfiguration With {
		.ReadBarCodes = False,
		.RenderHocr = True,
		.TesseractVariables = Nothing,
		.WhiteListCharacters = Nothing,
		.BlackListCharacters = "`ë|^"
	},
	.MultiThreaded = False,
	.Language = OcrLanguage.English,
	.EnableTesseractConsoleMessages = True
}
$vbLabelText   $csharpLabel

これを実行すると、Tesseract 機能を使用してOcrInputオブジェクトを読み取ることができます。

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.cs
IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.LoadImage("attachment.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Dim ocr As New IronTesseract()

Using input As New OcrInput()
	input.LoadImage("attachment.png")
	Dim result As OcrResult = ocr.Read(input)
	Dim text As String = result.Text
End Using
$vbLabelText   $csharpLabel

高度なTesseract設定変数

IronOCR Tesseract インターフェースでは、IronOCR.TesseractConfiguration クラスを通じて Tesseract 構成変数を完全に制御できます。

Tesseract 構成コードの例

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.cs
using IronOcr;
using System;

IronTesseract Ocr = new IronTesseract();

Ocr.Language = OcrLanguage.English;
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Configure Tesseract Engine
Ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;

using var input = new OcrInput();
input.LoadImage("/path/file.png");

OcrResult Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Imports IronOcr
Imports System

Private Ocr As New IronTesseract()

Ocr.Language = OcrLanguage.English
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd

' Configure Tesseract Engine
Ocr.Configuration.TesseractVariables("tessedit_parallelize") = False

Dim input = New OcrInput()
input.LoadImage("/path/file.png")

Dim Result As OcrResult = Ocr.Read(input)
Console.WriteLine(Result.Text)
$vbLabelText   $csharpLabel

すべてのTesseract設定変数のリスト

これらはIronTesseract.Configuration.TesseractVariables["key"] = value;を使用して設定できます。

Tesseract 設定変数 デフォルト 意味
分類番号cpレベル3クラスプルーナーレベルの数
textord_debug_tabfind0デバッグタブの検出
textord_debug_bugs0タブ検索のバグに関する出力をオンにする
textord_testregion_left-1デバッグレポートの四角形の左端
textord_testregion_top-1デバッグレポートの四角形の上端
textord_testregion_right2147483647デバッグ長方形の右端
textord_testregion_bottom2147483647デバッグ用四角形の下端
textord_tabfind_show_partitions0パーティション境界を表示し、>1 の場合は待機します
devanagari_split_debuglevel0分割された shiro-rekha プロセスのデバッグ レベル。
アウトラインあたりのエッジの最大子数10キャラクターアウトライン内の子の最大数
エッジの最大子レイヤー数5文字アウトライン内のネストされた子の最大レイヤー数
孫あたりのエッジの子数10チャッキングアウトラインの重要度比
エッジの子の数の制限45ブロブに許容される最大穴数
エッジの最小非穴12ボックス内の文字の最小ピクセル数
エッジパス面積比40許容可能な子供の輪郭の最大レンズ面積
textord_fp_chop_error2チョップセルの最大許容曲げ
textord_tabfind_show_images0画像のブロブを表示
textord_skewsmooth_offset4スムーズファクター
textord_skewsmooth_offset21スムーズファクター
テキストードテストx-2147483647検査患者の座標
テキストord_test_y-2147483647検査患者の座標
行内のテキストワードの最小ブロブ数4勾配をカウントする前の最小ブロブ数
テキストードスプライン最小ブロブ8各スプラインセグメントの最小ブロブ数
テキストフォードスプライン中央値勝利6スプライン分割のウィンドウサイズ
テキストオード最大ブロブオーバーラップ4大きなブロブが重ねられるブロブの最大数
テキストord_min_xheight10最小信頼ピクセルxheight
textord_lms_line_trials12実行するラインフィットの数
古い穴あき損失数10フォールバックラインが使用される前の最大損失
pitsync_linear_version6新しい高速アルゴリズムを使用する
ピットシンクフェイクデプス1最大前進偽造生成
textord_tabfind_show_strokewidths0線幅を表示
テキストードドットマトリックスギャップ3壊れたピクセルピッチの最大ピクセルギャップ
textord_debug_block0デバッグを行うブロック
テキストピッチ範囲2ピッチ上の最大範囲テスト
テキストワード拒否権5拒否権を上回って可決するために必要な行数
方程式検出_保存_bi_image0入力したbi画像を保存
方程式検出_save_spt_image0特殊文字画像を保存
方程式検出_保存_シード画像0シード画像を保存する
方程式検出_マージされた画像を保存0結合した画像を保存する
ポリデバッグ0古いポリゴンをデバッグする
ポリワイドオブジェクトより良い1広いものについてはより正確な概算
単語記録表示分割0分割表示
textord_debug_printable0デバッグウィンドウを印刷可能にする
textord_space_size_is_variable0true の場合、文字のピッチは固定されていますが、単語区切りのスペースの幅は可変であると見なされます。
textord_tabfind_show_initial_partitions0パーティション境界を表示
textord_tabfind_show_reject_blobs0ノイズとして拒否されたブロブを表示
textord_tabfind_show_columns0列の境界を表示
textord_tabfind_show_blocks0最終ブロック境界を表示
textord_tabfind_find_tables1実行テーブル検出
devanagari_split_debugimage0分割された shiro-rekha プロセスのデバッグ イメージを作成するかどうか。
textord_show_fixed_cuts0固定ピッチのセル境界を描く
エッジ使用の新しいアウトラインの複雑さ0新しいアウトライン複雑度モジュールを使用する
エッジデバッグ0このモジュールのデバッグをオンにする
エッジの子供の修正0キャラのような子の箱型の親を削除する
ギャップマップデバッグ0どのブロックにテーブルがあるかを伝える
ギャップマップの使用終了0行の最初と最後に大きなスペースを使用する
ギャップマップ_no_isolated_quanta0ギャップが2クォンタム以上であることを確認する
テキストードヘビーnr0ノイズを徹底的に除去
textord_show_initial_rows0行の累積を表示
textord_show_parallel_rows0ページ相関行を表示
textord_show_expanded_rows0展開後に行を表示する
textord_show_final_rows0最終フィッティング後の行を表示
textord_show_final_blobs0事前アサイン後のブロブ境界を表示する
textord_test_landscape0テストは陸上/港湾に関するものです
textord_parallel_baselines1平行ベースラインを強制する
textord_straight_baselines0直線ベースラインを強制する
textord_old_baselines1古いベースラインアルゴリズムを使用する
テキストード古いx高さ0古いxheightアルゴリズムを使用する
textord_fix_xheight_bug1スプラインベースラインを使用する
textord_fix_makerow_bug1複数のベースラインを防ぐ
textord_debug_xheights0xheightアルゴリズムのテスト
textord_biased_skewcalc1線の長さによるバイアススキューの推定
textord_interpolating_skew1ギャップを補間する
テキストード_新しい_初期_x高さ1テストxheightメカニズムを使用する
テキストード_デバッグ_ブロブ0テストBLOB情報を印刷する
テキストード_本当に古い_x高さ0オリジナルのwiseowl xheightを使用する
textord_oldbl_debug0古いベースライン生成をデバッグする
textord_debug_baselines0デバッグベースライン生成
textord_oldbl_paradef1パラデフォルトメカニズムを使用する
textord_oldbl_split_splines1分割された段付きスプライン
textord_oldbl_merge_parts1疑わしいパーティションを結合する
古いbl_corrfix1高さの相関関係を改善する
古いbl_xhfix0xheightのモードしきい値のバグを修正
テキストードオクロプスモード0オクロプスのベースラインを作成する
textord_tabfind_only_strokewidths0ストローク幅のみ実行
textord_tabfind_show_initialtabs0タブ候補を表示
textord_tabfind_show_finaltabs0タブベクトルを表示
textord_show_tables0表領域を表示
textord_tablefind_show_mark0デバッグテーブルのマーキング手順の詳細
textord_tablefind_show_stats0テーブル検索で使用されるページ統計を表示する
textord_tablefind_recognize_tables0テーブルレイアウトとフィルタリングのためのテーブル認識機能を有効にします。
textord_all_prop0すべてのドキュメントはプロポーショナルテキストです
textord_debug_pitch_test0固定ピッチテストのデバッグ
textord_disable_pitch_test0dp固定ピッチアルゴリズムをオフにする
textord_fast_pitch_test0さらに高速なピッチアルゴリズムを実行する
textord_debug_pitch_metric0完全なメトリックを書く
textord_show_row_cuts0行レベルのカットを描く
textord_show_page_cuts0ページレベルのカットを描く
テキストードピッチチート0固定/プロップの正しい答えを使用する
textord_blockndoc_fixed0ドキュメント/ブロック全体の固定ピッチを試みる
textord_show_initial_words0別々の単語を表示
textord_show_new_words0別々の単語を表示
textord_show_fixed_words0強制的に固定ピッチの単語を表示する
textord_blocksall_fixed0プロップブロックについての不満
textord_blocksall_prop0固定ピッチブロックについての不満
textord_blocksall_testing0不満を言うときに統計をダンプする
テキストードテストモード0現在のテストを実行する
textord_pitch_scalebigwords0大きな単語のスケールスコア
テキストロード_復元_下線1下線を切り取って元に戻す
テキストord_fp_chopping1固定ピッチチョッピングを行う
textord_force_make_prop_words0すべての行で比例した単語分割を強制する
textord_chopper_test0チョッパーはテスト中です。
wordrec_display_all_blobs0ブロブを表示
単語記録ブロブ一時停止0ブロブブレイク
ストリームファイルリスト0stdinからファイルリストをストリームする
デバッグファイル tprintfの出力先ファイル
分類フォント名不明なフォントトレーニングで使用するデフォルトのフォント名
ドキュメントタイトル 出力ドキュメントのタイトル(hOCRおよびPDF出力に使用)
ドット積autoドット積の計算に使用される関数
分類_cp_angle_pad_loose45クラス剪定ばさみ角度パッド緩い
分類_cp_角度_パッド_中20クラス剪定ばさみ角度パッド ミディアム
分類_cp_angle_pad_tight10クラス剪定ばさみ角度パッドタイト
分類_cp_end_pad_loose0.5クラス剪定ばさみエンドパッド緩い
分類_cp_end_pad_medium0.5クラス剪定ばさみエンドパッド ミディアム
分類_cp_end_pad_tight0.5クラス剪定ばさみエンドパッドタイト
分類_cp_サイド_パッド_ルーズ2.5クラス剪定ばさみサイドパッドルーズ
分類_cp_サイドパッド_中1.2クラス剪定ばさみサイドパッド ミディアム
分類_cp_サイド_パッド_タイト0.6クラス剪定ばさみサイドパッドタイト
分類PP角度パッド45プロトプルナーアングルパッド
分類ppエンドパッド0.5プロトプルーンエンドパッド
分類PPサイドパッド2.5プロトプルナーサイドパッド
最小傾斜を分類する0.414214水平線と呼ばれる傾斜
最大傾斜を分類する2.41421線が垂直と呼ばれる傾斜
分類ノルム調整中間点32標準調整中間点...
分類ノルム調整カール2ノーマル調整カール...
ピコ特徴の長さを分類する0.05ピコ長編
テキスト下線しきい値0.5占有幅の割合
edges_childarea0.5子アウトラインの最小面積率
エッジボックス領域0.875ボックスの孫の最小面積率
textord_fp_chop_snap0.5頂点からのチョップポイントの最大距離
ギャップマップの大きなギャップ1.75xht乗数
textord_spline_shift_fraction0.02四角形の行間隔の割合
textord_spline_outlier_fraction0.1外れ値の行間隔の割合
テキストード_skew_ile0.5ページの傾きのグラデーションのイル
テキストードスキューラグ0.02行累積のスキューの遅延
テキスト行間隔iqr制限0.2行間隔の最大IQR/中央値
テキスト幅制限8行を作成するためのBLOBの最大幅
テキストオードチョップ幅1.5切り刻む前の最大幅
テキスト拡張係数1expand_rows で行を拡張する係数
テキストオーバラップx0.375良好な重なりのための行間の割合
テキストord_minxh0.25最小xheightの線サイズの割合
テキストオードの最小行サイズ1.25* 初期線サイズのブロブの高さ
textord_excess_blobsize1.3blob が行をこの大きさにすると、新しい行が作成されます
テキスト占有しきい値0.4近隣地域の割合
テキスト下線幅2下線のline_sizeの倍数
textord_min_blob_height_fraction0.75ブロブの上部を xheight 統計に含めるための最小ブロブ高さ/上部
textord_xheight_mode_fraction0.4xheightを作るための最小パイル高さ
textord_ascheight_mode_fraction0.08高さを作るための最小のパイルの高さ
textord_descheight_mode_fraction0.08デシェイトを作るための最小パイル高さ
テキストord_ascx_ratio_min1.25最小キャップ/xハイト
テキストord_ascx_ratio_max1.8最大キャップ/xハイト
テキストord_descx_ratio_min0.25最小の説明/x高さ
テキストord_descx_ratio_max0.6最大 desc/xheight
テキストord_xheight_error_margin0.1許容されるバリエーション
古いbl_xhfract0.4計算で許容される推定値の小数点
古いbl_dot_error_size1.26ドットの最大アスペクト比
textord_oldbl_jumplimit0.15新しいパーティションのX分数
pitsync_joined_edge0.75切り刻むための大きな塊の内部の分散
pitsync_offset_freecut_fraction0.25フリーカットのカット率
textord_tabvector_vertical_gap_fraction0.5縦書きテキストの縦方向の隙間に許容される平均ブロブ幅の最大割合
テキストオードタブベクター垂直ボックス比率0.5線を垂直に宣言するために必要なボックスマッチの割合
テキスト投影スケール0.2ミッドカットのディンレート
テキストバランス係数1アンバランスなチャーセルのディンレート
textord_wordstats_smooth_factor0.05スムージングギャップ統計
テキスト幅の平滑化係数0.1スムージング幅の統計
テキストワード幅0.4スペース推定のためのブロブ幅の列
テキストワード最大スペース4xheightの倍数
テキストワードのデフォルト最大スペース3.5最大限に信じられる第三の空間
テキストワードのデフォルト最小スペース0.6xheightの割合
テキストワード数と最小スペース0.3xheightの割合
textord_words_default_nonspace0.2xheightの割合
テキストワードの頭文字0.25最大初期クラスターサイズ
テキストワードの頭文字大文字0.15最小初期クラスター間隔
textord_words_minlarge0.75必要な有効ギャップの割合
textord_words_pitchsd_threshold0.04ピッチ同期しきい値
テキストワード定義固定0.016明確な固定の閾値
テキストワード定義プロパティ0.09明確なプロップの閾値
textord_pitch_rowsimilarity0.08同一性のためのxheightの割合
単語の頭文字0.5最大初期クラスターサイズ
単語の頭文字0.15最小初期クラスター間隔
単語のデフォルトプロパティ非スペース0.25xheightの割合
単語のデフォルト固定スペース0.75xheightの割合
単語数のデフォルト制限0.6許容されるサイズの差異
テキストワードの明確な広がり0.3非ファジー間隔領域
テキストスペースサイズ比2.8最小スペース/非スペース比率
textord_spacesize_ratioprop2最小スペース/非スペース比率
テキストord_fpiqr_ratio1.5ピッチIQR/ギャップIQR閾値
テキストード最大ピッチiqr0.2ピッチのXh分数ノイズ
テキストフォードfpの最小幅0.5適切なブロブの最小幅
テキスト下線オフセット0.1無視するxの割合
ambigs_debug_level0Unichar の曖昧さのデバッグレベル
デバッグレベルを分類する0デバッグレベルを分類する
分類規範法1正規化方法...
マッチャーデバッグレベル0マッチャーデバッグレベル
マッチャーデバッグフラグ0マッチャーデバッグフラグ
分類学習デバッグレベル0学習デバッグレベル:
マッチャー永続クラス最小値1常設クラスの最小数
プロトタイプ作成のためのmatcher_min_examples3信頼できる構成しきい値
プロトタイプ作成のための十分な例のマッチング5曖昧さが見えなくても適応を可能にする
分類_適応_プロト_しきい値230適応型0-255における良好なプロトの閾値
分類_適応_特徴_しきい値230適応0-255中の良好な特徴の閾値
分類クラスプルーナーしきい値229クラス剪定しきい値 0-255
分類クラスプルーナー乗数15クラスプルーナー乗数 0-255:
分類_cp_カットオフ_強度7クラスプルーナーカットオフ強度:
整数マッチャー乗数分類10整数マッチャー乗数 0-255:
dawg_debug_level0一般的なデバッグ情報を表示するには 1 に設定し、詳細を表示するには 2 に設定し、すべてのデバッグメッセージを表示するには 3 に設定します。
ハイフンデバッグレベル0ハイフンでつながれた単語のデバッグ レベル。
ストッパー_smallword_size2辞書外の単語として扱われる辞書単語のサイズ
ストッパーデバッグレベル0ストッパーデバッグレベル
tessedit_truncate_wordchoice_log10リストに保持する最大単語数
最大試行回数10000順列化の際に考慮する文字の最大選択肢数。この制限は、ユーザーパターンが指定されている場合に特に役立ちます。あまりにも一般的なパターンを指定すると、DAWG検索が過剰な数の選択肢を探索する可能性があるためです。
修復されていないBLOB1切り取られていないブロブを修正する
チョップデバッグ0チョップデバッグ
チョップスプリット長さ10000分割長さ
同じ距離を切り取る2同じ距離
最小アウトラインポイントを切り取る6アウトライン上のポイントの最小数
チョップシームパイルサイズ150seam_pile 内の最大シーム数
チョップインサイドアングル-50最小内角曲げ
最小アウトライン面積2000最小アウトライン領域
チョップ中央最大幅90切り刻まれた(より小さい)ブロブの幅。これを超えると、切り刻まれたブロブが中心近くになくてもかまいません。
chop_x_y_weight3X / Y 長さ 重量
wordrec_debug_level0wordrecのデバッグレベル
wordrec_max_join_chunks4関連付ける破片の最大数
セグメント検索デバッグレベル0SegSearch デバッグレベル
セグメント検索最大痛みポイント2000キューに保存される問題点の最大数
segsearch_max_futile_classifications20より適切な単語の選択に至らなかったチャンクあたりの問題点分類の最大数。
言語モデルのデバッグレベル0言語モデルのデバッグレベル
言語モデルngram順序8文字ngramモデルの最大次数
言語モデルビタービリストの最大プルーニング可能数10BLOB_CHOICEsに記録される各ビタビリスト内のプルーニング可能なエントリ(PrunablePath()がtrueであるエントリ)の最大数
言語モデルビタービリストの最大サイズ500BLOB_CHOICEに記録されるビタビリストの最大サイズ
言語モデルの最小複合長3複合語の最小長
wordrec_display_segmentations0ディスプレイセグメンテーション
tessedit_pageseg_mode6ページ セグメント モード: 0 = osd のみ、1 = 自動 + osd、2 = 自動のみ、3 = 自動、4 = 列、5 = ブロック垂直、6 = ブロック、7 = 行、8 = 単語、9 = 単語円形、10 = 文字、11 = スパース テキスト、12 = スパース テキスト + osd、13 = 生の行 (tesseract/publictypes.h の PageSegMode 列挙型の値)
tessedit_ocr_engine_mode2実行するOCRエンジン(Tesseract、LSTM、両方)を指定します。デフォルトでは、利用可能な最も精度の高いエンジンが読み込まれ、実行されます。
ページeg_devanagari_split_strategy0ページ分割を実行するときに、デーヴァナーガリー文字の文書のトップライン分割プロセスを使用するかどうか。
ocr_devanagari_split_strategy0OCR 実行中にデーヴァナーガリー文字文書のトップライン分割プロセスを使用するかどうか。
bidi_debug0BiDiのデバッグレベル
適用ボックスデバッグ1デバッグレベル
適用ボックスページ0ボックスを適用するページ番号
tessedit_bigram_debug0バイグラム修正のデバッグ出力の量。
デバッグノイズ除去0小さなアウトラインの再割り当てをデバッグする
ノイズ最大ブロブ8ブロブに適用する最大分音記号数
単語あたりのノイズ最大値16単語に適用できる発音区別記号の最大数
デバッグ_x_ht_レベル0デバッグの再見積もり
品質_最小_初期_アルファ値_必要2良い言葉で言えばアルファ
tessedit_tess_adaption_mode39TESSの適応決定アルゴリズム
マルチ言語デバッグレベル0マルチランゲージデバッグ情報を出力します。
段落デバッグレベル0段落のデバッグ情報を出力します。
tessedit_preserve_min_wd_len2これより長いwdのみ保存します
クランチレーティングマックス10チャンネルごとの評価の調整長さ
クランチポットインジケーター1潜在的指標はいくつ必要か
クランチ_leave_lc_strings4長い小文字の文字列を含む単語を圧縮しないでください
クランチ_leave_uc_strings4長い小文字の文字列を含む単語を圧縮しないでください
クランチロングレペティション3長い繰り返しで単語を覚える
クランチデバッグ0書かれている通り
fixsp_non_noise_limit1両側にノイズのない BLB がいくつありますか?
fixsp_done_mode1間隔をあけるために何をするか
デバッグ修正スペースレベル0コンテキスト固定空間デバッグ
x_ht_許容値8フォントデータ外のブロブ上部の最大許容偏差
x_ht_min_change8実際に試す前のxhtの最小変更
上付き文字デバッグ0下付き文字と上付き文字修正プログラムのデバッグレベル
jpg_品質85JPEG品質レベルを設定する
ユーザー定義dpi0入力画像のDPIを指定する
試す最小文字数50OSD中に試行する最小文字数を指定します
容疑者レベル99容疑者マーカーレベル
容疑者の短い言葉2これより長い辞書ワードを疑わないでください
tessedit_reject_mode0拒否アルゴリズム
tessedit_image_border2画像のエッジ限界付近のRej blbs
最小の正気のx高さピクセル8これ以外のx-ht ltまたはeqを拒否します
tessedit_ページ番号-1-1 -> すべてのページ、それ以外の場合は処理する特定のページ
tessedit_parallelize1可能な場合は並行して実行する
lstm_choice_mode2hOCR出力に代替シンボルの選択肢を含めることができます。有効な入力値は0、1、2です。0がデフォルト値です。1を指定すると、タイムステップごとに代替シンボルの選択肢が含まれます。2を指定すると、代替シンボルの選択肢はラティスではなくCTCプロセスから抽出されます。選択肢は文字ごとにマッピングされます。
lstm_choice_iterations5lstm_choice_mode でビームサーチのカスケード反復回数を設定します。結果を生成するには、lstm_choice_mode を 0 より大きい値に設定する必要があることに注意してください。
tosp_debug_level0デバッグデータ
中央値に十分なスペースのサンプル数3それとも平均を使うべきでしょうか
tosp_redo_kern_limit10行の再推定に必要なサンプル数
tosp_few_samples40テーブルとして扱うために必要なギャップの数(1つの大きなギャップ)
tosp_short_row20証明書を使用するために必要なギャップはなく、証明書スペースは少ない
tosp_sanity_method1愚かな行動を避ける方法
テキストード最大ノイズサイズ7ノイズのピクセルサイズ
textord_baseline_debug0ベースラインデバッグレベル
textord_noise_sizefraction10最大値の大きさの割合
テキストードノイズトランスリミット16通常のブロブの遷移
テキストードノイズカウント1行を保存するためのスーパーノルムBLOB
適応のための曖昧さの使用0キャラクターに適応するかどうかを決定するためにアンビグスを使用する
ブロブ分割を許可する1分割可能なブロブチョッピングを使用する
優先順位付け部門0ブロブの分割をチョッピングよりも優先する
分類_有効_学習1適応分類器を有効にする
tess_cn_matching0文字正規化マッチング
tess_bn_マッチング0ベースライン正規化マッチング
分類_有効_適応_マッチャー1適応分類器を有効にする
事前に適応されたテンプレートを使用して分類する0事前に適応された分類テンプレートを使用する
適応したテンプレートを分類して保存する0適応したテンプレートをファイルに保存する
分類_有効_適応型デバッガー0マッチデバッガーを有効にする
非線形ノルムを分類する0非線形線密度正規化
文字フラグメントを無効にする1分類器の結果に文字の断片を含めない
分類デバッグ文字フラグメント0フラグメントのトレーニング用のグラフィカルデバッグウィンドウを表示します
マッチャーデバッグ分離ウィンドウ0マッチングのデバッグには 2 つの異なるウィンドウを使用します。1 つはプロト用、もう 1 つは機能用です。
分類_bln_数値_モード0入力が数字[0-9]であると仮定します。
ロードシステムドッグ1システムワードドッグをロードします。
ロード頻度1頻繁に使用される単語 dawg を読み込みます。
ロード_unambig_dawg1明確な単語 dawg を読み込みます。
ロードパンクドッグ1句読点パターンを dawg にロードします。
ロード番号_dawg1数字パターンを dawg にロードします。
ロードビグラムドッグ1特別な単語のバイグラムを dawg にロードします。
uft8の最初のステップのみを使用する0対数確率を計算するときは、指定された文字列の最初の UTF8 ステップのみを使用します。
ストッパー_受け入れられない選択肢0AcceptableChoice() が常に false を返すようにします。すべてのセグメンテーションを調査する必要がある場合に便利です。
セグメント非アルファベット文字0アルファベット特有のトリックは使用しないでください。筆記体や固定ピッチのスクリプトの場合は、traineddata設定ファイルでtrueに設定してください。
ドキュメントの単語を保存0文書を保存
マトリックス内のフラグメントのマージ1評価マトリックス内のフラグメントをマージし、マージ後に削除します
wordrec_enable_assoc1アソシエータの有効化
強制単語連想0enable_assoc の値に関わらず、associator を強制的に実行します。これは、コンポーネントのグループ化が必要な CJK 言語で使用されます。
チョップを有効にする1チョップ有効
チョップ垂直クリープ0垂直クリープ
新しいシームパイルを切り刻む1新しいseam_pileを使用する
固定ピッチ文字セグメントを想定0文字分割に固定ピッチヒューリスティックを含める
単語記録スキップなし真実のない単語0BlamerBundleに記録された真実の単語のみOCRを実行します
wordrec_debug_blamer0Blamerデバッグメッセージを出力する
wordrec_run_blamer0間違いの責任を他人に押し付けようとする
代替選択肢を保存する1チョッピングとセグメンテーション検索中に見つかった代替パスを保存する
言語モデルngram_on0文字ngramモデルの使用をオン/オフにする
言語モデルngram使用_最初のuft8ステップのみ0対数確率を計算するときは、指定された文字列の最初の UTF8 ステップのみを使用します。
言語モデルngram空間_区切り言語1単語はスペースで区切られます
言語モデル使用シグモイド確実性0確実性のためにシグモイドスコアを使用する
tessedit_resegment_from_boxes0ボックスファイルからセグメンテーションとラベル付けを行う
tessedit_resegment_from_line_boxes0単語/行ボックスファイルから文字ボックスファイルへの変換
tessedit_train_from_boxes0ボックス化された文字からトレーニングデータを生成する
tessedit_make_boxes_from_boxes0ボックス化された文字からさらにボックスを生成する
tessedit_train_line_recognizer0入力を行に分割し、ボックスがある場合は再マップする
tessedit_dump_pageseg_images0ページ分割中に作成された中間画像をダンプする
tessedit_do_invert1Try inverting the image in `LSTMRecognizeWord`
tessedit_ambigs_training0曖昧さに対するトレーニングを実行する
tessedit_adaption_debug0適応のためのデバッグ情報を生成して印刷する
applybox_learn_chars_and_char_frags_mode0文字の断片(特別な低露出モードで行われる)と断片化されていない文字の両方を学習します。
applybox_learn_ngrams_mode0各境界ボックスにはngramが含まれていると想定されます。アウトラインが水平方向に重なり合うngramのみを学習します。
tessedit_display_outwords0出力単語を描く
tessedit_dump_choices0ダンプ文字の選択肢
tessedit_timing_debug0印刷タイミング統計
tessedit_fix_fuzzy_spaces1曖昧な空間を改善しよう
tessedit_unrej_any_wd0言葉の妥当性は気にしない
tessedit_fix_hyphens1二重ハイフンをクランチしますか?
tessedit_enable_doc_dict1ドキュメント辞書に単語を追加する
tessedit_debug_fonts0文字ごとにフォント情報を出力
tessedit_debug_block_rejection0ブロックと行の統計
tessedit_enable_bigram_correction1単語バイグラム辞書に基づいた修正を有効にします。
tessedit_enable_dict_correction0辞書に基づいて単語単位の修正を有効にします。
ノイズ除去を有効にする1レイアウト分析を混乱させ、発音区別記号とノイズを判別する際に、小さなアウトラインを削除して条件付きで再割り当てします。
tessedit_minimal_rej_pass10パス1の出力に対して最小限の拒否を行う
tessedit_test_adaptation0テスト適応基準
テストpt0ポイントのテスト
段落テキストベース1テキスト認識後に段落検出を実行する(より正確)
lstm_use_matrix1lstmで評価行列/ビーム検索を使用する
tessedit_good_quality_unrej1優れたドキュメントの拒否を減らす
tessedit_use_reject_spaces1スペースを拒否しますか?
tessedit_preserve_blk_rej_perfect_wds1ブロック拒否では部分的に拒否された単語のみを拒否する
tessedit_preserve_row_rej_perfect_wds1行拒否では部分的に拒否された単語のみを拒否します
tessedit_dont_blkrej_good_wds0単語分割品質メトリックを使用する
tessedit_dont_rowrej_good_wds0単語分割品質メトリックを使用する
tessedit_row_rej_good_docs1優れたドキュメントに行拒否を適用する
tessedit_reject_bad_qual_wds1品質の悪いWDSはすべて拒否する
tessedit_debug_doc_rejection0ページ統計
tessedit_debug_quality_metrics0デバッグファイルにデータを出力する
bland_unrej0チェックなしで拒否されない可能性
unlv_tilde_crunching0チルダクランチの非常に悪い言葉をマークする
hocr_font_info0hocr出力にフォント情報を追加する
hocr_char_boxes0hocr出力に各文字の座標を追加する
クランチ早期マージテス失敗1ワードクランチの前ですか?
クランチ_アーリー_コンバート_バッド_unlv_chs0早く出せよ~^?
ひどいゴミ1書かれている通り
クランチ_leave_ok_strings1賢明な弦に触れないでください
クランチ_受け入れ_ok1okstringで受け入れ可能性を使用する
クランチ_leave_accept_strings0ポットクランチはしないでください
クランチ_数値を含める0アルファ数字をフィドルする
tessedit_prefer_joined_punct0句読点の報酬結合
tessedit_write_block_separators0出力にブロック区切りを書き込む
tessedit_write_rep_codes0繰り返し文字コードを書く
tessedit_write_unlv0.unlv出力ファイルを書き込む
tessedit_create_txt0.txt出力ファイルを書き込む
tessedit_create_hocr0.html hOCR出力ファイルを書き込む
tessedit_create_alto0.xml ALTOファイルを書き込む
tessedit_create_lstmbox0LSTMトレーニング用の.boxファイルを書き込む
tessedit_create_tsv0.tsv出力ファイルを書き込む
tessedit_create_wordstrbox0WordStr形式の.box出力ファイルを書き込む
tessedit_create_pdf0.pdf出力ファイルを書き込む
テキストのみ_pdf0非表示のテキストレイヤーを1つだけ含むPDFを作成する
suspect_constrain_1Il0UNLVは11文字を拒否したまま
tessedit_minimal_rejection0テスの失敗のみを拒否する
tessedit_zero_rejection0何も拒否しない
tessedit_word_for_word0出力にWERDごとに1つの単語だけを含める
tessedit_zero_kelvin_rejection0何も拒否しないでください
tessedit_rejection_debug0適応デバッグ
tessedit_flip_0O1コンテキスト 0O O0 フリップ
rej_trust_doc_dawg011l conf. detectorでDOC dawgを使用する
rej_1Il_use_dict_word0辞書語テストを使用する
rej_1Il_trust_permuter_type1二重チェックはしない
rej_use_tess_accepted1個別拒否制御
rej_use_tess_blanks1個別拒否制御
良いパーミッションの使用を拒否1個別拒否制御
rej_use_sensible_wd0延長、切り替え、確認
承認番号のアルファベット順0延長、切り替え、確認
tessedit_create_boxfile0ボックス付きテキストの出力
tessedit_write_images0IPEから画像をキャプチャする
インタラクティブ表示モード0インタラクティブに実行しますか?
tessedit_override_permuter1dict_wordによると
tessedit_use_primary_params_model0多言語モードでは、主要言語のパラメータモデルを使用します。
textord_tabfind_show_vlines0デバッグ行の検出
textord_use_cjk_fp_model0CJK固定ピッチモデルを使用する
poly_allow_detailed_fx0特徴抽出者が元のアウトラインを確認できるようにする
tessedit_init_config_only0設定ファイルのみを使用して初期化します。インスタンスをOCRではなくレイアウト解析のみに使用する場合に便利です。
テキスト式検出0方程式検出器をオンにする
textord_tabfind_vertical_text1垂直検出を有効にする
テキストord_tabfind_force_vertical_text0縦書きテキストページモードの使用を強制する
単語間のスペースを保持する0複数の単語間のスペースを保持する
pageseg_apply_music_mask1五線譜を検出し、交差する要素を削除します
textord_single_height_mode0スクリプトにはxheightがないので、単一モードを使用します
tosp_old_to_method0スペース統計は事前チョッピングを使用しますか?
tosp_old_to_constrain_sp_kn0old_to_method の単語間ギャップと単語内ギャップの相対値を制限します。
tosp_only_use_prop_rows1固定ピッチ行を使用するには統計をブロックしますか?
tosp_force_wordbreak_on_punct0スペースで区切られていない言語で長い行を区切るために句読点で単語の区切りを強制する
tosp_use_pre_chopping0スペース統計は事前チョッピングを使用しますか?
tosp_old_to_bug_fix0古いコード内の疑わしいバグを修正
tosp_block_use_cert_spaces1明らかなスペースのみを統計する
tosp_row_use_cert_spaces1明らかなスペースのみを統計する
tosp_narrow_blobs_not_cert1明らかなスペースのみを統計する
tosp_row_use_cert_spaces11明らかなスペースのみを統計する
tosp_recovery_isolated_row_stats1証明書のスペースが不十分な場合は行のみを使用する
tosp_only_small_gaps_for_kern0より良い推測
tosp_all_flips_fuzzy0任意のフリップをコンテキストに渡しますか?
tosp_fuzzy_limit_all1kn->spファジー制限をテーブルに制限しない
tosp_stats_use_xht_gaps1WDブレークのXHTギャップ内で使用
tosp_use_xht_gaps1WDブレークのXHTギャップ内で使用
tosp_only_use_xht_gaps0WDブレークの場合はXHTギャップ内でのみ使用してください
tosp_rule_9_テストポイント0句読点の隣のスペースにknを変更しないでください
tosp_flip_fuzz_kn_to_sp1デフォルトのフリップ
tosp_flip_fuzz_sp_to_kn1デフォルトのフリップ
tosp_improve_thresh0改善ヒューリスティックを有効にする
textord_no_rejects0ノイズの塊は取り除かない
textord_show_blobs0ソートされていないBLOBを表示する
テキスト表示ボックス0ソートされていないBLOBを表示する
テキストワードノイズ1ノイズのような単語を拒否する
テキストードノイズ再行1ノイズのような行を拒否する
textord_noise_debug0デバッグ行ガベージ検出器
分類学習デバッグ文字列学習をデバッグするためのクラスstr
ユーザー単語ファイルユーザーが指定した単語のファイル名。
ユーザー単語の接尾辞tessdata にあるユーザー指定の単語の接尾辞。
ユーザーパターンファイルユーザーが提供するパターンのファイル名。
ユーザーパターンサフィックスtessdata にあるユーザー提供のパターンの接尾辞。
出力曖昧語ファイル辞書で見つかった曖昧さの出力ファイル
デバッグ用の単語ストッパーデバッグ情報を標準出力に出力する単語
tessedit_char_ブラックリスト認識しない文字のブラックリスト
tessedit_char_whitelist認識する文字のホワイトリスト
tessedit_char_ブラックリスト解除tessedit_char_ブラックリスト を上書きする文字のリスト
tessedit_write_params_to_fileすべてのパラメータを指定されたファイルに書き込みます。
ボックス露出パターンを適用する.exp露出値は画像ファイル名にこのパターンに従って記述されます。画像ファイル名は[lang].[fontname].exp [num].tifの形式となります。
chs_leading_punct('`"行頭の句読点
chs_trailing_punct1)。、;:?!1番目の末尾の句読点
chs_trailing_punct2)'`"2番目の末尾の句読点
アウトライン_奇数%|標準外のアウトライン数
outlines_2ij!?%":;標準外のアウトライン数
数値句読点。、点数。数字以内のchsが期待される
認識されない文字|未確認のBLOBの出力文字
ok_repeated_ch_non_alphanum_wds-?*=NNが拒否を解除できるようにする
競合セットI_l_1イル1 []Il1 競合セット
ファイルタイプ.tifファイル名拡張子
tessedit_load_sublangsこれと一緒に読み込む言語のリスト
ページセパレーターページ区切り(デフォルトはフォームフィード制御文字)
文字の標準範囲を分類する0.2文字の正規化範囲...
分類最大評価比率1.5分類器の評価間の拒否比率
分類最大確実性マージン5.5分類器の確実性の違いを拒否する
マッチャーの良好なしきい値0.125良い試合(0-1)
マッチャー_信頼性の高い適応結果0素晴らしい試合 (0-1)
マッチャー完全しきい値0.02パーフェクトマッチ(0-1)
マッチャー_悪い_マッチ_パッド0.15悪いマッチパッド(0-1)
マッチャーレーティングマージン0.1新しいテンプレートの余白(0-1)
マッチャー平均ノイズサイズ12平均ノイズブロブ長
マッチャークラスタリング最大角度デルタ0.015プロトタイプクラスタリングの最大角度デルタ
不適合ジャンクペナルティの分類0非数値が想定されるテキスト行の位置から垂直方向に外れている場合に適用するペナルティ
評価スケール1.5評価倍率
確実性スケール20確実性のスケーリング係数
tessedit_class_miss_scale0.00390625使用されていない機能のスケール係数
適応剪定係数を分類する2.5適応度の低い結果を刈り込むと、最良の結果よりもはるかに悪くなります
適応剪定しきい値の分類-1適応剪定係数を分類する が開始されるしきい値
文字断片分類_ガベージ確実性しきい値-3文字全体に見えない断片をトレーニングと適応から除外する
スペックル_large_max_size0.3最大スペックルサイズ
スペックル評価ペナルティ10騒音の最悪評価に罰金を追加
xheight_penalty_subscripts0.125単語に上付き文字または下付き文字が含まれている場合は、スコアのペナルティ (0.1 = 10%) が加算されますが、それ以外は問題ありません。
xheight_penalty_inconsistent0.25xheight が矛盾している場合は、スコア ペナルティ (0.1 = 10%) が追加されます。
セグメントペナルティ辞書頻出単語1大文字と小文字が区別され、指定された言語で頻繁に使用される単語一致のスコア乗数 (低いほど良い)。
セグメントペナルティ辞書ケースOK1.1大文字と小文字が適切に一致する単語のスコア乗数 (低いほど良い)。
セグメントペナルティ辞書ケース不良1.3125大文字と小文字の問題がある可能性のある単語一致のデフォルトのスコア乗数 (低いほど良い)。
セグメントペナルティ辞書非単語1.25辞書の単語と一致しないグリフフラグメントセグメンテーションのスコア乗数 (低いほど良い)。
セグメントペナルティガベージ1.5辞書に存在せず、一般的にゴミのように見える、大文字と小文字が不適切に区別された文字列のスコア乗数 (低いほど良い)。
確実性スケール20確実性のスケーリング係数
ストッパー非辞書的確実性ベース-2.5辞書にない単語の確信度閾値
ストッパーフェーズ2の確実性拒絶オフセット1確実性オフセットを拒否
ストッパーの確実性/文字数-0.5小さい単語サイズを超える各辞書文字に追加する確実性。
ストッパー許容キャラクター悪さ3単語に許容される最大変動(シグマ単位)
doc_dict_pending_threshold0保留中の辞書を使用する際の最も確実な方法
doc_dict_確実性しきい値-2.25文書辞書に挿入できる単語の確実性が最も低い
tessedit_certainty_threshold-2.25良いブロブ制限
チョップ分割距離ノブ0.5スプリット長さ調整
チョップオーバーラップノブ0.9分割オーバーラップ調整
チョップセンターノブ0.15スプリットセンター調整
チョップシャープネスノブ0.06分割シャープネス調整
チョップ幅変更ノブ5幅変更調整
チョップ_ok_split100OK分割制限
チョップグッドスプリット50優れた分割制限
セグメント検索最大文字数比率2最大文字幅と高さの比率

よくある質問

C#でOCRを使用して画像をテキストに変換する方法は?

IronOCRライブラリのIronTesseractを使用することで、C#で画像をテキストに変換できます。まず、NuGet経由でライブラリをインストールし、IronTesseractのインスタンスを作成し、Readメソッドを使用して画像を処理し、テキストを抽出します。

C#でOCRの言語設定を構成するにはどうすればよいですか?

IronTesseractでは、OCR処理の言語をLanguageプロパティを設定することで設定できます。これにより、画像上のテキストが書かれている言語を指定し、精度を向上させることができます。

IronTesseractはテキスト抽出とバーコード読み取りの両方を扱えますか?

はい、IronTesseractはテキスト抽出とバーコード読み取りの両方を扱えます。Configuration.ReadBarcodesプロパティをtrueに設定することでバーコード読み取りを有効にし、スキャンされた画像のバーコードをOCRエンジンが読み取れるようにします。

C# OCRでTesseract構成変数は何に使われますか?

IronTesseractでのTesseract構成変数はOCRプロセスを微調整するために使用されます。開発者はIronOcr.TesseractConfigurationクラスを使用して、文字ホワイトリスト、ブラックリスト、その他の処理パラメータを調整できます。

OCR処理中に文字をホワイトリストに登録するにはどうすればよいですか?

IronTesseractを使用してOCR処理中に文字をホワイトリストに登録するには、Configuration.WhiteListCharactersプロパティを設定し、認識させたい文字だけを含めることで、特定のタスクのためのOCR精度を向上させます。

C#で一般的なOCRの問題をトラブルシュートするにはどうすればよいですか?

IronTesseractを使用したC#での一般的なOCRの問題は、Tesseract構成変数を調整し、正しい言語設定を行い、画像の品質を確認することで解決できます。Configurationプロパティの使用がOCR結果の改善に役立ちます。

IronOCRでのTesseract構成変数のドキュメントはどこにありますか?

IronOCRでのTesseract構成変数のドキュメントはIronOcr.TesseractConfigurationクラスのドキュメントにあります。変数の完全なリスト、デフォルト、およびその機能の説明が提供されています。

C#でOCRの結果を検索可能なPDFとして保存するにはどうすればよいですか?

IronTesseractを使用して、OCRエンジンで画像を処理した後、SaveAsSearchablePdfメソッドを利用することで、OCRの結果を検索可能なPDFとしてC#で保存できます。

IronTesseractを使用することの.NET OCRタスクでの利点は何ですか?

IronTesseractは、.NET OCRタスクにおいて多くの利点を提供し、簡潔なAPI、多言語サポート、バーコード読み取り機能、および特定のニーズに合わせてOCRプロセスを調整できる豊富な構成オプションがあります。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース