Skip to content

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

Description

@Wjat777

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions