Automatically localizing and reading barcodes captured by a camera-based process have a great value for industrial and personal applications. A potential great benefit to the industry stems from relieving the constraint of human-guided scanning, which requires placing the scanner operator in close proximity to the barcode in order to obtain correct result. With camera-based scanning, product passing on a conveyor belt will not necessarily have to be aligned for the camera-based scanner to correctly detect the barcode.
With the availability of embedded cameras on smartphones, barcode scanning needs to operate in a less controlled environment. The challenges faced by barcode scanning in this case are thus far greater than in industrial settings. Main and crucial differences stem from: the quality of the image obtained, the motion blur involved in manually acquired images, unpredicted distance to barcode, non-uniform orientation and perspective, as well as unknown location of the barcode itself.
But whether for personal or industrial applications, barcode localization and scanning using camera-based system is a complex process. In complex scenes barcode localization is the crucial step towards a correct information retrieval. To reduce computation time, only candidate locations on an image are analyzed for being barcodes. For designated barcode readers, like bar or QR type codes, the system is acquired with a specific pattern to search for within the scene.
Candidate locations for barcode are searched using a designated template matching process, based either on the gradient map of the image or on feature matching. This stage is made as robust as possible to illumination changes, blur, orientation, perspective and distortion of the image. Complex pre-processing of the image is built to account expected complexities in the image, based on the designated operation of the scanner. In continuous acquisition of the scenes, the temporal relationship between subsequent frames can be exploited for stabilization and motion blur correction. However, it is probable that the system will reach its limits in case of sharp motion of the camera or object.
Upon localization of a candidate barcode position, the interpretation stage is initiated. With most barcode scanners the first step is binarization, although more complex color barcode has been recently proposed. When restricting the analysis to black and white, the greatest challenge in binarization of barcode in complex scenes is to compensate for motion blur.
Although barcode scanning is a common application in our daily life and most laser-based scanners offer nowadays outstanding performances, introducing camera-based scanners still requires much progress. Dealing with many of the mentioned complexities, localizing and interpreting a barcode in natural scenes require real expertise in image analysis and the construction of computer vision algorithms. At RSIP Vision we specialize in constructing computer vision and image processing algorithms for industrial and personal use. Visit our portfolio to see how RSIP Vision will take your application to the next level.