IronOCR ハウツー MICR小切手を読む C#でIronOCRを使用してMICR小切手を読み取る方法</#35; カーティス・チャウ 更新日:2026年1月10日 IronOCR をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English チェックを手動で処理すると時間がかかり、エラーが発生しやすくなります。 IronOCRは、MICR(磁気インク文字認識)ラインを正確に読み取る専用エンジンにより、このワークフローを合理化し、ルーティング番号、口座番号、その他の重要なデータの抽出を自動化します。 クイックスタート: OCR 小切手画像からMICRを読み取る LanguageをMICRに設定し、MICRテキストが表示される矩形領域を指定し、Read()を実行すると、すぐにresult.Text文字列が得られます。 最小限のセットアップで信頼性の高い財務データの抽出を望む開発者に最適です。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronOCR をインストールします PM > Install-Package IronOcr このコード スニペットをコピーして実行します。 string micrText = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.MICR }.Read(new IronOcr.OcrInput().LoadImage("micr.png", new System.Drawing.Rectangle(125, 240, 310, 15))).Text; 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(5ステップ) MICR小切手を読み取るためのC#ライブラリをダウンロードする OCRエンジンをインスタンス化する Language設定をMICRに設定します Readメソッドを使用してサンプル小切手画像からデータを抽出します OcrResultプロパティにアクセスして、抽出されたデータを表示および操作します。 小切手の画像から MICR データを読み取るには? IronOCRでMICR行を読むのは簡単で直感的です。まず、IronTesseractインスタンスのLanguageプロパティをOcrLanguage.Micrに設定します。 エンジンが正しい領域を読み取るようにするには、OcrInputに矩形の境界を設定して MICR 線の位置を指定します。 これは、バウンディングボックスの矩形の x 座標と y 座標、高さと幅を選択し、Load メソッドを呼び出すときに 2 番目のパラメータとして矩形を渡すことによって達成されます。 Readメソッドを呼び出すと、この定義された領域のみが処理されます。 MICR 言語設定と特定の地域を組み合わせることで、IronOCR が関連する財務情報を正確に抽出することが保証されます。 MICR技術は、特殊な磁気インクと、0~9の数字と4つの特殊記号の合計14文字を正確に含む独自のフォント(北米ではE-13B)を使用します。 これらの記号には、ルーティング番号の境界を示すトランジット記号(F)が含まれます; 口座番号を他のデータから分離する記号(⑈); 金額記号 (↪So_244A) は、エンコードされた金額に使用されます; とダッシュ記号(⑉)は区切り記号として機能します。 このインクの磁気特性により、小切手が折りたたまれたり、スタンプが押されたり、わずかに損傷したりしても、確実に読み取ることができるため、MICRは大量の小切手処理に理想的です。 MICR小切手とはどのようなものですか? MICR読み取りデモ用にルーティング番号、口座番号、小切手番号がラベル付けされたMICRラインを示すサンプル小切手。 MICRラインにはどのような情報が含まれていますか? 小切手番号: この番号は、口座名義人の小切手帳から特定の小切手を一意に識別します。 個々の支払いを追跡し、取引記録を維持するための明確な参照として機能します。 自動処理システムでは、小切手番号は重複処理を防ぎ、照合手順を支援します。 ルーティング番号: トランジット記号⑆で囲まれたこの 9 桁のコードは、口座を保有する金融機関を識別します。 これは、決済機関が小切手を適切な銀行に送金するために使用する最初の情報です。 最初の4桁は連邦準備制度理事会(FRB)のルーティング・シンボル、次の4桁は金融機関、最後の1桁は検証用のチェックサムです。 口座番号: 資金が引き出される特定の顧客口座を識別します。 長さは銀行によって異なり、通常10~12桁です。 銀行は、口座番号構造内に内部コードまたは支店識別子を含めることができます。 MICRデータを抽出するにはどのようなコードが必要ですか? :path=/static-assets/ocr/content-code-examples/how-to/read-micr-cheque.cs using IronOcr; using IronSoftware.Drawing; using System; // Create a new instance of IronTesseract for performing OCR operations IronTesseract ocr = new IronTesseract(); // Set the OCR language to MICR to recognize magnetic ink characters // Must have MICR (IronOcr.Languages.MICR) installed beforehand ocr.Language = OcrLanguage.MICR; // Specify the file path of the input image containing MICR text using (var input = new OcrInput()) { // Specify the MICR of the image to focus on for OCR (coordinates in pixels) var contentArea = new Rectangle(x: 215, y: 482, width: 520, height: 20); input.LoadImage("micr.png", contentArea); // Optional: Save the cropped area for verification input.StampCropRectangleAndSaveAs(contentArea, Color.Aqua, "cropped.png"); // Run the OCR engine to read the MICR text from the input image var result = ocr.Read(input); // Output the recognized text to the console Console.WriteLine(result.Text); // Transit number is the first 7 characters of the MICR string string transitNum = result.Text.Substring(0, 7); // Routing number starts from the 8th character and is 11 characters long string routingNum = result.Text.Substring(7, 11); // Account number starts from the 22nd character to the end of the string string accountNum = result.Text.Substring(22); } Imports IronOcr Imports IronSoftware.Drawing Imports System ' Create a new instance of IronTesseract for performing OCR operations Dim ocr As New IronTesseract() ' Set the OCR language to MICR to recognize magnetic ink characters ' Must have MICR (IronOcr.Languages.MICR) installed beforehand ocr.Language = OcrLanguage.MICR ' Specify the file path of the input image containing MICR text Using input As New OcrInput() ' Specify the MICR of the image to focus on for OCR (coordinates in pixels) Dim contentArea As New Rectangle(x:=215, y:=482, width:=520, height:=20) input.LoadImage("micr.png", contentArea) ' Optional: Save the cropped area for verification input.StampCropRectangleAndSaveAs(contentArea, Color.Aqua, "cropped.png") ' Run the OCR engine to read the MICR text from the input image Dim result = ocr.Read(input) ' Output the recognized text to the console Console.WriteLine(result.Text) ' Transit number is the first 7 characters of the MICR string Dim transitNum As String = result.Text.Substring(0, 7) ' Routing number starts from the 8th character and is 11 characters long Dim routingNum As String = result.Text.Substring(7, 11) ' Account number starts from the 22nd character to the end of the string Dim accountNum As String = result.Text.Substring(22) End Using $vbLabelText $csharpLabel コードは、MICR 小切手処理の完全なワークフローを示しています。 このコードを実行する前に、NuGet経由でMICR言語パックがインストールされていることを確認してください。 OcrInputクラスは、画像の読み込みと前処理のための強力なメソッドを提供し、RectangleパラメータはMICR線の位置を正確にターゲットすることを可能にします。 どのような結果が期待できますか? . 上の出力は、MICR小切手から得られた3つのセクション(通過番号、送金番号、口座番号)を示しています。 特殊なMICR記号が出力でどのように表現されているかに注目してください-これらの記号はコンソール出力で異なって表示される可能性のある特定のUnicode表現を持っているため、これは通常の動作です。 MICR OCR結果 OcrResultオブジェクトはスキャンに関する詳細情報を提供します。 テキスト: OcrInputから抽出されたテキスト。 これには、MICR行のすべての文字と記号が含まれ、元の順序を維持します。 信頼度:すべての文字の平均の統計的な精度の信頼度を示し、1が最高、0が最低です。MICR読み取りでは、標準化されたフォント設計により、0.9を超える信頼度が一般的です。 OCR結果の信頼性追跡については、こちらをご覧ください。 ブロック、段落、行、単語:認識されるテキストの階層構造で、MICRでは通常、記号で区切られた複数の単語セグメントを持つ1行で構成されます。 BarCodeデータ:MICRを処理する際、IronOCRは同時に小切手上に存在するバーコードまたはQRコードを検出することができます。 正しいOCRリージョンを確認するにはどうすればよいですか? MICR ラインの正しい座標を選択したことを確認するには、定義したContentArea を視覚化できます。 これを行う簡単な方法は、入力画像に四角形を描画し、 StampCropRectangleAndSaveAsを使用して新しいファイルとして保存することです。 これにより、座標をデバッグして微調整し、最適なパフォーマンスを実現できます。 Rectangleの座標を見つけるには、MS Paintのようなシンプルな画像エディタを使用してください。 小切手の画像を開き、MICR 線の左上隅と右下隅にマウスカーソルを合わせ、(x,y)ピクセル座標に注目してください。 次に、矩形のプロパティを計算します:(x1, y1, width, height), ここで width = x2-x1 と height = y2-y1 です。 より高度なリージョン選択テクニックについては、OCRリージョンターゲティングとPDFによるコンテンツエリアをご覧ください。 以下は、サンプルの小切手に指定された境界ボックスを描画した後の出力画像です。 出力 . 水色の四角形は、処理のために MICR ラインが正しく分離されたことを確認します。 パフォーマンス最適化のヒント 複数のチェックを処理する場合は、パフォーマンスを向上させるマルチスレッドの実装を検討してください。 IronOCRは並行処理を効率的に処理します: // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); Imports System.IO Imports System.Threading.Tasks Imports IronOcr ' Process multiple cheques in parallel Dim chequeFiles = Directory.GetFiles("cheques/", "*.png") Parallel.ForEach(chequeFiles, Sub(file) Using ocr As New IronTesseract With {.Language = OcrLanguage.MICR} Using input As New OcrInput() input.LoadImage(file, micrRegion) Dim result = ocr.Read(input) ProcessMicrData(result.Text) End Using End Using End Sub) $vbLabelText $csharpLabel よくあるトラブルシューティングのシナリオ 低品質スキャン: 低品質のチェック画像を扱う場合は、画像前処理フィルターを適用して可読性を高めます。 MICRフォントの特徴的な形状は、劣化した画像でも精度を維持するのに役立ちます。 誤った文字認識: 最新のMICR言語パックがインストールされていることを確認してください。 専用のMICR言語設定は、E-13Bフォント認識用に特別にトレーニングされています。 可変MICRラインの位置:銀行によって、MICRラインの位置が微妙に異なることがあります。 動的な領域検出を実装するか、異なるチェック形式用の座標を含む設定ファイルを管理することを検討してください。 関連する金融文書処理 IronOCRの機能は小切手処理にとどまりません。 包括的な財務ドキュメントの自動化のために、関連する機能をご覧ください: スキャンした請求書からデータを抽出する。 KYCコンプライアンスのための本人確認書類の処理。 財務諸表の表を読む。 IronOCRでMICR読み取りをマスターすることにより、金融文書処理の完全自動化への第一歩を踏み出し、手入力エラーを減らし、ワークフローを大幅に加速することができます。 よくある質問 MICRとは何ですか。なぜ小切手処理に重要なのですか。 MICR (Magnetic Ink Character Recognition) は、特殊な磁気インクと独自のフォントを使用して小切手に金融情報をエンコードする技術です。IronOCRの専門的なMICRエンジンは、ルーティング番号、口座番号、小切手番号などのエンコードされたデータを正確に読み取ることができ、通常であれば時間がかかり、エラーが発生しやすい手作業を自動化します。 MICRテキストを読み取るためのOCRエンジンの設定方法を教えてください。 IronOCRでMICRテキストを読むには、IronTesseractインスタンスのLanguageプロパティをOcrLanguage.MICRに設定する必要があります。これにより、小切手で使用されるE-13Bフォントを読み取るために特別に設計されたMICR文字認識アルゴリズムを使用するようにエンジンに指示します。 小切手のどこにMICRデータがあるかを正確に指定できますか。 はい、IronOCRではOcrInputに矩形の境界線を設定することにより、MICR線の正確な位置を指定することができます。これはバウンディングボックスの矩形の高さと幅とともにxとyの座標を選択して定義し、Loadメソッドを呼び出すときに2番目のパラメータとして渡します。 MICRエンコーディングにはどのような特殊文字が使用されていますか? MICRは、0~9の数字と4つの特殊記号の合計14文字を使用します。これらには、ルーティング番号の境界を表すトランジット記号($)、口座番号を区切るオンス記号(⑈)、エンコードされた金額を表す金額記号(⑊)、セパレーターとしてのダッシュ記号(⑉)が含まれます。IronOCRはこれらすべてのMICR固有の文字を認識することができます。 小切手画像から MICR データを短時間で抽出できますか。 IronOCRを使えば、たった1行のコードでMICRデータを抽出することができます。言語をMICRに設定したIronTesseractインスタンスを作成し、MICR領域を指定した画像を読み込み、Read()を呼び出し、result.Textプロパティにアクセスするだけで、抽出されたMICR文字列を即座に得ることができます。 MICRラインから抽出できる財務情報の種類は? IronOCRは、MICR行にエンコードされている重要な財務データ(銀行を特定するルーティング番号、特定の口座を特定する口座番号、個々の小切手を一意に特定する小切手番号など)を抽出することができます。この自動抽出により、金融文書処理が合理化されます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 5,384,824 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 5,384,824 ライセンスを見る