Free Support Forum - aspose.com

Maximum code quality for QR

Hi,


I have rather a lot of data to embed in a QR code, and I’d like to maximize the quality (i.e., scanability) of the code and minimize the size. I’ve already done what I can to minimize data size. There are quite a few settings in the barcode control, and I’m kind of confused as to which ones I might be able to set to obtain some improvement. Attached file contains screenshots of my settings - I’d appreciate any advice on improving them.

Thanks,
Adama


Hi Adama,


Thank you for your inquiry. I believe 2D barcode symbologies with error correction will have better recognition rate. This is decided by QR barcode’s error correction level during encode. Please visit the appropriate documentation link below:
http://www.aspose.com/docs/display/barcodenet/How+to+create+a+QR+Barcode

Second, you can control barcode size by using custom width support as described here:
http://www.aspose.com/docs/display/barcodenet/Generate+Barcode+Using+Custom+Width+Support

Please let us know in case of further assistance or comments.

Hi I have a related question so I hope you don’t mind me asking it here.


I have a program which generates a two qr barcodes on a page. One that is small and contains a short string and another that contains a fair amount of data. I find that when printed and scanned, the large barcode will fail to be recognized more often then I would like. The way I was trying to solve it was to break up the data and print multiple smaller barcodes on the page (25-30 of them). When I do this the BarCodeReader.Read() method fails to recognize most of them. It will find between zero and three of them, but no more. I’ve tried various sizes and spacing to improve the read but to no avail.

So my question is two fold.

1. Why would it not recognize more barcodes on my page?

2. Is it better to increase the error correction value to the max as I was using the default (which was only 7%)?

Thanks,
Jason
Hi Jason,

Thank you for these details. Please note that there are several other factors contributing in scan failure, like the presence of noise in the image, skewed barcode labels, punch holes/white spots etc. Severity of one such factor or a combination of two or more makes it difficult for the BarCodeRecognition algorithm to scan a barcode properly. The ideal resolution for recognition purposes is 300dpi to 600dpi.

I would like to add that Aspose.BarCode for .NET provides better and faster barcode recognition using image processing techniques. MedianSmoothing removes the noise from the image while preserving the image edges. Please visit the documentation link below:
http://www.aspose.com/docs/display/barcodenet/Better+and+Faster+Image+Processing+for+BarCode+Recognition

If you think that the barcodes are damaged and unreadable then you can increase error correction value to the max. It would be great if you can share sample barcode images here in this thread. We will take a closer look and guide you accordingly.

I have expermimented with ImageBinarizationHints but you are right, when the barcode has a lot of damage, this only helps so much. I also use image processing to despeckle/deskew the image. I wrote a multi-pass system to try the bare image first and then apply various techniques (including ImageBinarizationHints) to try and clean up the images if the barcodes are not initially recognized. I always ask clients to scan at 300dpi (higher would be prohibitively expensive in processing time) but they often do scans of scans so the quality degrades.


I did try the use the SetHints method, but visual studio is telling me that BarCodeReader does not contain a definition for SetHints, nor does it for RegocnitionHints.ThresholdHints so I haven’t been able to try that to see if it helps.

Thanks again,
Jason
Hi Jason,

Thank you for your inquiry. You are right because SetHints method and RecognitionHints.ThreshholdHints have been removed. In future releases we may add new or recover deleted. I have logged your problem in our issue tracking system. Please check the following thread link for your kind reference.
http://www.aspose.com/community/forums/thread/441231.aspx