Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

How to detect barcodes when they are arranged horizontally and vertically at the same time?

オープン
#593 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
csharp

調査の方向性

Start with the BarcodeReader setup and DecodeMultiple call in the reporter's snippet, then reproduce with the three attached images to see which codes are missed. The issue asks two questions, so no change is specified yet. Done means either a documented option for orientation-independent and duplicate reads, or a maintainer-agreed change to DecodingOptions behaviour with a test covering the rotated and duplicated cases.

索引モデルが issue の本文から書いたものです。

説明

Hi,

Firstly, sorry to post this as an issue (I know this is not a bug), but I don't found a official community forum for ZXing integration.

I have this 3 situations:
BarCode1.jpg : 2 Barcodes code 128 and 2 Barcodes 39=>All codes are read correctly

Image

CODE_39[39;210;327;210] : ABC-1234
CODE_128[33;105;319;105] : ABC-abc-1234
CODE_128[424;52;600;52] : 123456787
CODE_39[404;213;628;213] : 123456

BarCode2.jpg : 2 Barcodes code 128 (1 horizontal and 1 vertical) and 3 Barcodes 39(1 horizontal and 1 vertical)=>Only horizontal codes are read correctly

Image

CODE_39[39;210;327;210] : ABC-1234
CODE_128[33;105;319;105] : ABC-abc-1234

BarCode3.jpg : 2 Barcodes code 128 (1 horizontal and 1 vertical) and 2 Barcodes 39(2 horizontal and 1 vertical)=>Only horizontal codes are read correctly and the duplicate code was ignored.

Image

CODE_39[39;267;327;267] : ABC-1234
CODE_128[33;133;319;133] : ABC-abc-1234

My code is very simple

private string ScanBarcode(Bitmap bitmap)
{
	Bitmap target;
	var reader = new ZXing.Windows.Compatibility.BarcodeReader()
	{
		AutoRotate = true,
		Options = new DecodingOptions
		{
			TryHarder = true,
			PureBarcode = false,
			ReturnCodabarStartEnd = true,
		}
	};
	Result[] result = reader.DecodeMultiple(bitmap);
	if (result==null) return "not found";
	string barcodeResult = "";
	foreach (var res in result)
	{
		barcodeResult += res.BarcodeFormat.ToString() +"[" +res.ResultPoints[0].X +";"+ res.ResultPoints[0].Y +";" +res.ResultPoints[1].X + ";" + res.ResultPoints[1].Y + "]" + " : " + res.Text + "\r\n";
	}
	return barcodeResult;
}

I'm using ZXing.Windows.Compatibility (0.16.13.0) and ZWing (0.16.10.0)

My questions are
1 - Exists an option to force read all barcodes regardless of orientation?
2 - Exists an option to force read all barcodes regardless of whether they are duplicated?

The case of duplication is weird but we have some forms where the same barcode is duplicated, I think, for redundancy reasons if the form is scratched out, but I would still like to get the position of both barcodes.

Thanks

主要言語
C#
スター
3.1k
フォーク
704
平均マージ
13日 17時間
マージ済み PR(30日)
2

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

micjahn/ZXing.Net のほかの issue

micjahn/ZXing.Net の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。