Back to list

Barcode detection

  • OpenCV
  • Python
  • Image processing

A software for barcode detection in image and video files.

This implementation of barcodes detection differs from the scripts existing on the market. Our algorithm supports detection in a real-time video due to a small processing time. Also, it is capable to detect barcodes in noisy images and poor light patterns. The software doesn't require much training data, except just a few samples for parameters selection, etc. The algorithm is able to handle blurred images with barcodes that don't have clear edges, it commonly happens to moving objects in videos.

Algorithm description.

Processing of a frame starts from detection of monotonic color blobs and filtering those ones that have suitable dimensions to be distinguished as bars. Later, a hierarchical clustering algorithm is applied to generate groups of bars with similar properties using custom criteria for merging. Finally, they are analyzed, and the most prominent samples (if any) are selected as a result to be displayed to a user.

The code was written with an assumption to convert it to other programming languages native for different platforms. That's why usage of 3rd-party libraries was limited to OpenCV only.

Key functionality:

  • image processing,
  • pattern recognition,
  • clustering,
  • detection
  • 17540751d5720b1ec75afbc553484adcc7b94c11.jpg
    Development time
    1 week of 1 developer