IronBarcode ハウツー .NET 画像からバーコードを読み取る C# を使って画像からバーコードを読み取る方法 Hairil Hasyimi Bin Omar 更新日:7月 22, 2025 IronBarcode をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronBarcode の主な機能の 1 つは、複数の画像形式でバーコードをすぐに読み取る能力です。 現在、IronBarcode がサポートしている画像形式は次の通りです: スケーラブル・ベクター・グラフィック (SVG) ジョイントフォトグラフィックエキスパーツグループ (JPEG) ポータブル・ネットワーク・グラフィックス (PNG) グラフィックス・インターチェンジ・フォーマット (GIF) タグ付画像ファイル形式 (TIFF) ビットマップ画像ファイル (BMP) This is made possible with the help of our open source library, IronDrawing. クイックスタート: 秒で画像からバーコードを読み取る IronBarCode.BarcodeReader.Read() を 1 回呼び出すだけで、PNG、JPEG、GIF、BMP、TIFF の画像ファイル形式からバーコードデータを取得できます。 複雑なセットアップなしですぐに始まります - 結果が即座に得られます。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronBarcode をインストールします PM > Install-Package BarCode このコード スニペットをコピーして実行します。 var results = IronBarCode.BarcodeReader.Read("path/to/image.png"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronBarcode を使い始めましょう 30日間無料トライアル 最小限のワークフロー(5ステップ) 画像からバーコードを読み取るためのC#ライブラリをダウンロード Readメソッドを使用して、さまざまな画像形式からバーコード値を読み取ります。 BarcodeReaderOptionsクラスを利用して読み取り設定を構成する CropAreaプロパティを使用して画像内のバーコード領域を指定します ExpectBarcodeTypesプロパティを設定して、読み取るバーコードの種類を指定します。 直接画像からバーコードを読み取る さて、実際に IronBarcode を使ってバーコードを読み取る方法を見てみましょう: :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-1.cs using IronBarCode; using System; var myBarcode = BarcodeReader.Read(@"image_file_path.jpg"); //image file path foreach (var item in myBarcode) { Console.WriteLine(item.ToString()); } Imports IronBarCode Imports System Private myBarcode = BarcodeReader.Read("image_file_path.jpg") 'image file path For Each item In myBarcode Console.WriteLine(item.ToString()) Next item $vbLabelText $csharpLabel サンプルテストQRコード サンプルテストバーコード サンプルのバーコード値が何なのか知りたいですか?コードスニペットで試してみてください! IronBarcode を使用するには、まず Microsoft Visual Studio NuGet パッケージマネージャーを通じて IronBarcode ライブラリをプロジェクトにインストールする必要があります。以下の画像に示されています。 これにより、IronBarcode の BarcodeReader.Read() メソッドに直接アクセスしてバーコード画像を読み取ることができるようになります。 IronBarcode は、BarcodeReader.Read() だけでプロジェクト内にすでに含まれている画像ファイルを読み取ることができます。メソッドのパラメータとして ファイル名 文字列、または ファイルパス 文字列を指定します。 メソッド内でファイルパスを指定する際は、複数のエスケープ文字"\"をファイルパス文字列に追加するのを避けるために、逐号文字列リテラル"@"を使用するのがベストプラクティスです。 Values() メソッドを BarcodeReader.Read() メソッド呼び出しの末尾に付けて、バーコード値を System.String[] オブジェクトとして取得します。 結果をコンソールに出力するには、string[] 配列に格納された値を反復処理するために foreach ループを使用し、ループブロック内で、イテレータ変数をパラメータとして Console.WriteLine() メソッドを呼び出します。 IronBarcode は、1次元バーコード形式 (Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE) だけでなく、様々な画像形式で 2次元バーコード形式 (Aztec, DataMatrix, QRCode) を読み取ることができます。 バーコードリーダーオプションの設定 バーコードリーディングが遅すぎますか? 画像でバーコードが小さすぎて、IronBarcode が読み取れないですか? 画像の特定の領域のみを読み取りたいですか? バーコードが混在している画像で特定の種類のバーコードのみを読み取りたいですか? 全体の読み取りパフォーマンスを改善したいですか? 心配しないでください! BarcodeReaderOptions は、バーコードリーダーの動作を調整または変更して、上記のすべての問題に対処できるようにします。 では、BarcodeReaderOptions の中で調整可能なすべてのプロパティについて詳細に見てみましょう。 CropArea CropArea は BarcodeReaderOptions に存在する Iron Software.Drawing.CropRectangle タイプのプロパティで、IronBarcode が読み取るべき画像内の領域をユーザーが指定できます。 これは読み取りパフォーマンスの向上に役立ちます。なぜなら、読み取り範囲が指定されたため、バーコードリーダーが画像全体をスキャンしてバーコードを探すことを避け、読み取りの精度も向上します。 CropArea プロパティを設定するには、新しい Rectangle 型オブジェクトをインスタンス化し、長方形の座標、幅、および長さを引数として指定するだけです。 測定単位として受け入れられるのはピクセル (px) です。 // Example of setting CropArea var cropArea = new IronSoftware.Drawing.Rectangle(x, y, width, height); // Example of setting CropArea var cropArea = new IronSoftware.Drawing.Rectangle(x, y, width, height); ' Example of setting CropArea Dim cropArea = New IronSoftware.Drawing.Rectangle(x, y, width, height) $vbLabelText $csharpLabel ExpectBarcodeTypes デフォルトでは、IronBarcode でサポートされているすべてのバーコードが画像でスキャンされます。 しかし、ユーザーが画像にどんな種類のバーコードがあるか、または読み取るのかを知っている場合、このプロパティを特定の種類のバーコードだけを読み取るように設定すれば、読み取りパフォーマンスと精度が大幅に向上します。なぜなら、バーコードリーダーがバーコードのコレクションを通過して解釈し読み取る必要がないからです。 このプロパティを使用するには、ExpectBarcodeTypes を BarcodeEncoding 列挙体の一つのフィールドに設定すればよいです。 以下に、IronBarcode がサポートしているすべてのバーコードタイプの例を示します。 前述の例と説明を含むバーコードタイプのリストです。 ExpectMultipleBarcodes IronBarcode は画像内の利用可能なすべてのバーコードをデフォルトでスキャンします。これには画像ファイル全体のスキャンが含まれ、読み取ったバーコード値を文字列配列に追加します。 しかし、ユーザーが画像ファイル内の複数のバーコードを読み取りたくない場合は、このプロパティを false に設定できます。これにより、バーコード値が見つかった時点でバーコードリーダーはスキャンを中止します。 これもまた、IronBarcode のパフォーマンスと読み取り速度の改善につながります。 ImageFilters BarcodeReaderOptions に追加できるプロパティの一つが、画像フィルタのコレクションです。 画像フィルタは IronBarcode に入力される生の画像を前処理するために重要です。 画像フィルタを BarcodeReaderOptions 内で適用するために、まずは使用する ImageFilter コレクションを初期化し指定する必要があります。 MaxParallelThreads IronBarcode はユーザーにパラレルスレッド実行量を有効化および調整することを可能にし、これによりプロセスの速度と効率が向上します。 並列スレッドとは、異なるプロセッサコアで同時に複数のスレッドを実行することを意味します。 IronBarcode における MaxParallelThread プロパティのデフォルト数は 4 です。ユーザーは、そのマシンが持つ能力とリソースの量に基づいてそれらを調整できます。 Multithreaded このプロパティは、IronBarcode が複数の画像を並行して読み取ることを可能にします。 Multithreaded のデフォルトは true であり、そのため複数のスレッドはバッチバーコード読み取りタスクのパフォーマンスを向上させるために自動的に管理されます。 RemoveFalsePositive このプロパティは偽陽性バーコード読み取りを除去します。 偽陽性バーコード読み取りは、バーコード値の誤読を意味するが、有効として識別されます。 これはシーケンシングプロセスでのエラーやバーコードラベリングや準備プロセスでのエラーにより起こる可能性があります。 従って、RemoveFalsePositive を true に設定することにより、偽陽性バーコード読み取りを除去し、バーコード読み取り精度を向上させます。 しかし、ユーザーが精度の代わりにパフォーマンスを選ぶ場合、このプロパティを false に設定すると助けになるでしょう。このプロパティのデフォルト値は true です。 ScanMode IronBarcode が画像内でバーコードをスキャンし検出する方法を定義します。 Auto: バーコードを自動画像前処理と最適なリーダーオプションの構成で読み取ります。 最良の結果とパフォーマンスのために推奨されます。 OnlyDetectionModel: 画像内のバーコードをスキャンし、それらの位置を Iron Software.Drawing.PointF の配列として返します。 このモードは検出されたバーコードを読みません; それはそれぞれのバーコードの位置のみを返します。 MachineLearningScan: 機械学習検出でバーコードをスキャンして読みます。 OnlyBasicScan: 機械学習検出、画像自動前処理、またはリーダーオプションの構成なしでバーコードを読み取ります。 このオプションは IronBarCode.Slim と単独で使用できます。 Reading Speed 名前が示すように、Speedプロパティは、ユーザーがIronBarcodeリーダーのパフォーマンスをさらに最適化できるようにしています。 RemoveFalsePositive プロパティに類似し、このプロパティを調整することで、パフォーマンスを精度のコストで改善します。 それは ReadingSpeed 列挙体を受け入れ、以下の4段階を持っている: Faster: 最速のバーコード読み取りを有効にするが、精度を下げる。 このプロセスは画像の前処理をスキップし、しばしば空のバーコード結果をもたらします。 この設定を使用するのは、入力画像がシャープで明確な場合のみです。 バランス: この設定はSpeedプロパティに対して推奨されます。 それは精度と読み取りパフォーマンスのバランスをとり、画像に軽い処理を試みて、バーコードエリアを明確にし、バーコードリーダーが検出できるようにします。 ほとんどの場合、この設定はIronBarcodeがバーコード画像を読み取り、正確な出力を生成するのに十分です。 Detailed: ReadingSpeed.Balanced 設定を使用しても読み取りでバーコード値を生成するのが成功しない場合、ユーザーは ReadingSpeed.Detailed を使用できます。 IronBarcode は中程度の処理を画像に行い、バーコードエリアをさらに明確にして、バーコードリーダーが検出できるようにします。 この設定は、小さなまたはあまり鮮明でないバーコード画像を検出するのに非常に便利です。 ExtremeDetail: この設定は非常に CPU 集中なプロセスのため 最も推奨されません。 重い処理がバーコード画像に施され、リーダーがバーコードを読み取るようになります。 これにより、IronBarcode の読み取りパフォーマンスが大幅に低下します。 ユーザーはこの設定を選ぶ前にイメージ前処理を行うこと/画像にフィルタを適用することを推奨されます。 UseCode39ExtendedMode この設定により、Code39 型バーコードは拡張モードで読み取られ解釈され、完全な ASCII 文字セットが適用されます。 UseCode39ExtendedMode を true に設定すると、Code39 バーコードのより正確な読み取りが可能になります。 画像からの先进的なバーコードリーディング すべてのオプションを学び、それがパフォーマンスを向上させるか精度を向上させるかを問わず、次にそれをどのようにコードで適用できるか見てみましょう。 以下のコードスニペットで示されます。 // Insert actual C# code for advanced barcode reading from images here // Ensure the necessary options and settings are demonstrated in the example // Insert actual C# code for advanced barcode reading from images here // Ensure the necessary options and settings are demonstrated in the example ' Insert actual C# code for advanced barcode reading from images here ' Ensure the necessary options and settings are demonstrated in the example $vbLabelText $csharpLabel コードスニペットから、BarcodeReaderOptionsを使用するには、まずそれを初期化し、次に上記のプロパティに応じてBarcodeReaderOptionsのプロパティを決定して調整する必要があることがわかります。 初期化された BarcodeReaderOptions は、画像ファイルと共にBarcodeReader.Read() メソッドの引数として使用できます。これにより、画像からバーコードを読み取る際に BarcodeReaderOptions のすべての設定が適用されます。 よくある質問 どうすれば .NET アプリケーションで画像からバーコードを読み取ることができますか? JPEG、PNG、GIF、TIFF、SVG、および BMP などの画像ファイルからバーコードを読み取るには、IronBarcode の BarcodeReader.Read() メソッドを使用できます。 IronBarcode でバーコードの読み取りをカスタマイズするために利用可能なオプションは何ですか? BarcodeReaderOptions クラスは、CropArea、ExpectBarcodeTypes、ImageFilters、MaxParallelThreads、および RemoveFalsePositive などのプロパティを設定することにより、バーコードの読み取りをカスタマイズできます。 アプリケーションでのバーコード読み取りの精度を向上させるにはどうすればよいですか? RemoveFalsePositive プロパティを使用して偽陽性を排除し、Detailed や ExtremeDetail などのオプションで読み取り速度を調整することで、バーコードの読み取り精度を向上させることができます。 .NETでマルチスレッドのバーコード読み取りを実行することは可能ですか? はい、IronBarcode はマルチスレッドのバーコード読み取りをサポートしています。スレッドの自動管理を可能にするには、Multithreaded プロパティを true に設定します。 画像の特定の領域を指定してバーコードをスキャンするにはどうすればよいですか? IronBarcode の BarcodeReaderOptions クラスで CropArea プロパティを設定することで、スキャンする画像内の領域を指定できます。 バーコード読み取りにおける機械学習の利点は何ですか? バーコード検出に機械学習を使用すると、さまざまな画像条件に適応し、認識機能を向上させることにより、読み取りの精度と効率を向上させることができます。 IronBarcode でさまざまなバーコード形式に対処するにはどうすればよいですか? IronBarcode は、1D および 2D バーコード形式の両方を読み取ることができます。ExpectBarcodeTypes プロパティを使用して、期待するバーコードの種類を指定できます。 .NET プロジェクトにバーコード読み取りライブラリをインストールするプロセスは何ですか? .NET プロジェクトに IronBarcode ライブラリをインストールするには、Microsoft Visual Studio の NuGet パッケージ マネージャーを使用してライブラリをダウンロードし、統合します。 IronBarcode で利用可能な画像の前処理オプションは何ですか? IronBarcode は、画像を読み取る前にユーザーが画像を強化できるように、ImageFilters プロパティを介して画像の前処理オプションを提供します。 大きな画像ファイルのバーコード読み取りのパフォーマンスを最適化するにはどうすればよいですか? パフォーマンスを最適化するには、MaxParallelThreads を設定して複数のスレッドを活用し、ニーズに応じて読み取り速度を調整します。 Hairil Hasyimi Bin Omar 今すぐエンジニアリングチームとチャット ソフトウェアエンジニア すべての優れたエンジニアのように、ハイリルは熱心な学習者です。彼はC#、Python、Javaの知識を磨き、その知識を活用してIron Softwareのチームメンバーに価値を追加しています。ハイリルはマレーシアのマラ工科大学からIron Softwareのチームに参加し、化学およびプロセス工学の学士号を取得しました。 準備はできましたか? Nuget ダウンロード 1,979,979 | Version: 2025.11 リリース NuGet 無料版 総ダウンロード数: 1,979,979 ライセンスを見る