A robust software barcode reader using the Hough transform

Nowadays barcodes are used in many different applications and environments. For most applications, such as access control, price calculation, etc., a handheld scanner is enough, but in other environments where the volume of information is very high and time is critical, hardware scanners aren't the best choice. In such situations, a powerful software barcode reader can process the barcode readers present in a scanned document without human interaction. The most commonly approach used to implement this kind of software scanners is to simulate the handheld scanner behavior by tracing one or more lines (the hardware laser beam) and measure the width of the barcode's lines and spaces. These methods present a serious handicap, since they are highly sensitive to eventual noise (human signatures, marks) that can be present in a code. In this paper we present a method based on the Hough transform which solves the aforementioned problem, and that can be easily adapted to read any 1D barcode.