C#でより速く読み取るための BarCode クロップ領域の定義方法
IronBarcodeのスキャンエリアを特定の画像領域に制限するためにIronSoftware.Drawing.Rectangleを使用してクロップ領域を定義すると、バーコード読み取りのパフォーマンスが大幅に向上し、関連するエリアのみに集中することでエラーが減少します。
IronBarcodeの最も重要な機能の一つはクロップリージョンを指定する機能です。 この機能は、IronSoftware.Drawing.Rectangleオブジェクトによって読み取ることをIronBarcodeに可能にします。 この機能を使用することで、読み間違いを減らすだけでなく、読解パフォーマンスも向上します。 このテクニックは、複数ページのドキュメントや、バーコードの位置が予測可能な高解像度の画像を扱う場合に特に役立ちます。
複数のバーコードや複雑な背景を持つ画像を処理する場合、バーコード読み取り速度を最適化するために、クロップ領域を定義することが重要になります。 スキャン範囲を限定することで、画像全体をスキャンするよりも最大5倍速い処理速度を実現し、BarCode以外の要素による誤検出も減らすことができます。
クイックスタート: クロップ領域を定義して適用し、バーコードをより速く読み取るクロップ矩形を作成し、数秒でIronBarcodeにフィード—追加のセットアップ不要で摩擦なく使用できます。 BarcodeReaderOptionsを使用して特定の画像エリアへのスキャンを制限するのがどれほど簡単かご覧ください。
-
1Install IronBarcode with NuGet Package Manager
-
2このコード スニペットをコピーして実行します。
var results = IronBarCode.BarcodeReader.Read("image.png", new IronBarCode.BarcodeReaderOptions { CropArea = new IronSoftware.Drawing.Rectangle(x: 50, y: 100, width: 300, height: 150) });C# -
3実際の環境でテストするためにデプロイする
今日プロジェクトで IronBarcode を使い始めましょう無料トライアル
最小限のワークフロー(5ステップ)
- バーコード読み取り用のC#ライブラリをダウンロードする
- 画像内のクロップ領域の座標とサイズを探す
- 座標からクロップ領域を作成する
Readメソッドを使用してバーコードを検出して読み取ります- メソッドにクロップ領域オブジェクトを渡す
画像の切り抜き領域の座標とサイズを見つけるにはどうすればよいですか?
画像内の点の座標を求める方法はたくさんあります。 1つの方法は、コンピュータのペイント・アプリケーションを使って画像を読み込むことです。 クロップ領域の最初の座標を取得するには、画面の左下に表示されるアプリから提供されたx, y座標を取得し、トップ左隅となるRectangleの最初の位置にカーソルを移動します。 次に、Rectangleの右下隅となる第二の点を見つけてください。 より明確な理解のために、以下の画像を参照してください。
より高度なシナリオでは、正確なピクセル座標と測定ツールを提供するGIMPやPhotoshopのような画像編集ソフトウェアの使用も検討してください。 開発者の中には、オンラインの座標検索ツールを使用したり、画像のホバー時にマウス座標を表示するシンプルなHTML/JavaScriptユーティリティを作成したりすることを好む人もいます。

CropRegionリファレンスの設定
座標を決定するためにどのようなツールを使用できますか?
座標値はその後、Rectangleオブジェクトのプロパティとして使用可能です。 オブジェクトのwidthはx2 - x1として定義でき、heightはy2 - y1として定義できます。 BarCode画像を扱う場合、座標は左上(0,0)から始まり、右(X軸)、下(Y軸)に移動するにつれて大きくなることを理解することが重要です。
座標決定のアプローチには、次のようなものがあります:
- OS内蔵ツール:Windowsペイント、macOSプレビュー
- ブラウザ開発者ツール: ウェブベースの画像の要素を検査する
- プロフェッショナルソフトウェア:Adobe Photoshop、GIMP
- カスタムユーティリティ:シンプルな座標ビューアアプリケーション
- IronBarcodeのデバッグ機能: 座標オーバーレイで処理された画像をエクスポートする。
座標から長方形の寸法を計算するには?
2つの角が決まれば、寸法を計算するのは簡単です。 矩形には、x座標、y座標、幅、高さの4つのパラメータが必要です。 クロップ・リージョンを正しくインスタンス化する方法を説明します:
using IronBarCode;
int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;
IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2-x1, height: y2-y1);Imports IronBarCode
Imports IronSoftware.Drawing
Dim x1 As Integer = 62
Dim y1 As Integer = 29
Dim x2 As Integer = 345
Dim y2 As Integer = 522
Dim crop1 As New Rectangle(x:=x1, y:=y1, width:=x2-x1, height:=y2-y1)この座標系は、IronBarcodeの画像補正機能とシームレスに連携しており、画像の特定の領域にのみフィルタを適用することができます。
CropRegionを適用してBarCodeを読み取るにはどうすればよいですか?
IronBarcodeが読み取りたい場所としてBarcodeReaderOptionsに適用できます。 これはその後、BarcodeReader.Read()メソッドのパラメーターとして使用可能です。 以下のコードスニペットはこのプロセスを示しています。
BarcodeReaderOptionsはどのようなパラメータを受け付けますか?
BarcodeReaderOptionsクラスはバーコード読み取りプロセスに対する包括的な制御を提供します。 作物地域を超えて、設定することができます:
- 速度の最適化:速度設定を使用して、精度とパフォーマンスのバランスをとる。
- バーコードの種類: 検索する正確なフォーマットを指定します(サポートされているフォーマット)。
- 画像フィルター:斜めのバーコードや破損したバーコードの補正を適用します。
- マルチスレッド:並列処理を有効にしてパフォーマンスを向上させる
- 回転処理:回転した BarCode を自動的に検出します。
切り取り領域から複数の BarCode 結果を処理するにはどうすればよいですか?
複数のバーコードを含む切り取り領域をスキャンすると、IronBarcodeは結果のコレクションを返します。 各結果には、作物領域内の正確な位置、BarCodeタイプ、デコードされた値などの貴重なメタデータが含まれています。 ここでは、包括的な作物領域処理を実装する方法を説明します:
using IronBarCode;
using System;
int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;
IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2 - x1, height: y2 - y1);
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
CropArea = crop1
};
var result = BarcodeReader.Read("sample.png", options);
foreach (var item in result)
{
Console.WriteLine(item.Value);
}Imports IronBarCode
Imports System
Dim x1 As Integer = 62
Dim y1 As Integer = 29
Dim x2 As Integer = 345
Dim y2 As Integer = 522
Dim crop1 As New IronSoftware.Drawing.Rectangle(x:=x1, y:=y1, width:=x2 - x1, height:=y2 - y1)
Dim options As New BarcodeReaderOptions() With {
.CropArea = crop1
}
Dim result = BarcodeReader.Read("sample.png", options)
For Each item In result
Console.WriteLine(item.Value)
Next上記のコードスニペットから、Rectangleを使用しました。 次に、このCropAreaを適用して中のバーコードを読み取ります。
クロップ・リージョンの高度なテクニック
本番アプリケーションでは、次のような高度な戦略を検討してください:
1.ダイナミッククロップ領域:ドキュメント テンプレートまたは OCR 結果に基づいて切り抜き領域を計算します。 2.複数のリージョン:複雑なレイアウトのために、1つの画像で複数のクロップ領域を処理します。 3.パフォーマンスの最適化:async処理とクロップリージョンを組み合わせて、最大のスループットを実現します。 4.エラー処理: バーコードが期待される領域で見つからない場合のフォールバック戦略を実装する。
PDFドキュメントで作業する場合、特定のページに切り取り領域を適用して、大きなファイルの処理時間を劇的に短縮することができます。 これは、請求書、出荷ラベル、バーコードの位置が標準化されているフォームに特に役立ちます。
作物の地域定義のベストプラクティス
作物地域の効果を最大化する:
- パディングを追加する: 若干のばらつきを考慮し、予想されるBarCode位置の周囲に10~20ピクセルを含める。
- 徹底的にテストする:クロップ領域がドキュメントセット全体で機能することを確認する。
- ドキュメント座標:アプリケーションの一般的な作物地域の参照シートを維持する。
- スケーリングを考慮する:異なる画像解像度やDPI設定を考慮する
- パフォーマンスを監視する:作物地域の有効性を検証するために処理時間を追跡する。
フォールト トレランスを必要とするアプリケーションでは、2 パス アプローチを実装します。まずクロップ領域をスキャンし、次に期待される領域で BarCode が見つからなかった場合にフル イメージ スキャンにフォールバックします。
結論
クロップ領域の定義は、.NETアプリケーションのバーコード読み取りパフォーマンスを最適化するための強力なテクニックです。 スキャン範囲を特定の領域に限定することで、誤検出を減らしながら大幅なスピードアップを実現できます。 単一の画像を処理する場合でも、バッチ処理を行う場合でも、クロップリージョンは本番環境で必要とされる精度とパフォーマンスを提供します。
よくある質問
BarCode crop regionとは何ですか?
バーコードのクロップ領域とは、IronBarcodeがスキャンに集中する画像内の特定の領域のことです。IronSoftware.Drawing.Rectangleを使用してクロップ領域を定義することにより、バーコードの読み取り速度を最大5倍まで向上させることができます。
バーコード読み取り用のクロップ領域を定義するにはどうすればよいですか?
IronBarcodeでクロップ領域を定義するには、特定の座標(x、y)と寸法(幅、高さ)を持つIronSoftware.Drawing.Rectangleオブジェクトを作成し、Readメソッドを呼び出す際にそれをBarcodeReaderOptions.CropAreaプロパティに渡します。
クロップ・リージョンを使用することで、どのようなパフォーマンス向上が期待できますか?
IronBarcodeのクロップ領域機能は、画像全体をスキャンする場合と比較して、バーコードの読み取りパフォーマンスを最大5倍向上させることができます。これは、バーコードの位置が予測可能な複数ページの文書や高解像度の画像を扱う場合に特に有益です。
自分の作物地域の正しい座標を見つけるにはどうすればよいですか?
クロップ領域の座標は、Microsoft Paint、GIMP、Photoshopなどの画像編集ソフトを使って見つけることができます。画像を開き、領域の左上隅にカーソルを移動し、x,y座標を記録し、IronBarcodeの矩形の幅と高さを決定するために右下隅の座標を見つけるだけです。
クロップ・リージョンの使用は、どのような場合に特に有益ですか?
IronBarcodeのクロップ領域は、複数のバーコード、複雑な背景、複数ページのドキュメント、バーコードの位置が一定で予測可能な高解像度の画像を処理する際に特に役立ちます。
Can IronBarcode handle multiple barcodes within a cropped region?
Yes, IronBarcode can process multiple barcodes within a cropped region, returning a collection of results that include each barcode's value and location.
What are advanced techniques for utilizing crop regions with IronBarcode?
Advanced techniques include dynamic crop regions based on document templates, processing multiple regions, combining with async processing, and implementing error handling strategies.
What best practices should be followed when defining crop regions?
Best practices include adding padding around expected barcode locations, thoroughly testing across document sets, documenting coordinates, considering image scaling, and monitoring performance.
How can crop regions be applied to PDF documents with IronBarcode?
Crop regions can be applied to specific pages within PDF documents, which reduces processing time, especially useful for documents with standardized barcode positions like invoices or shipping labels.
Why might you use a two-pass scanning approach with crop regions?
A two-pass approach first scans the crop region, but if no barcodes are detected, it falls back to scanning the full image, thus ensuring high fault tolerance.
