Comparing the impact of different cameras and image resolution to recognize the data matrix codes

Ladislav Karrach 1 , Elena Pivarčiová 1 , and Yury Rafailovich Nikitin 2
  • 1 Department of Manufacturing and Automation Technology, Faculty of Environmental and Manufacturing Technology, Technical University in Zvolen, 960 01, Zvolen
  • 2 Department of Mechatronic Systems, Institute of Modern Technologies in Mechanical and Automotive Engineering and Metallurgy, Kalashnikov Izhevsk State Technical University, 426069, Izhevsk


Data matrix codes are two-dimensional (2D) matrix bar codes, which are the descendants of the well known 1D bar codes. However, compared to 1D bar codes, they allow to store much more information in the same area. Comparing data matrix codes with QR codes, for example, we find them much more effective in marking small objects or in the case that you have only a very small area for placing a code in. Their capacity and ability of decoding also a code that is partly damaged make them an appropriate solution for industrial applications. In the following paper we compare the impact of various cameras on the detection and decoding of data matrix codes in real scene images. The location of the code is based on the fact that typical bordering of a data matrix code forms a region of connected points which create “L”, the so-called finder pattern, and the parallel dotting, the so-called timing pattern. In the first step, we try to locate the finder pattern using adaptive thresholding and connecting neighbouring points to continuous regions. Then we search for the regions where 3 outer boundary points form a isosceles right triangle that could represent the finder pattern. In the second step, we have to verify the timing pattern. We look for an even number of crossings between the background and foreground. Experimental results show that the algorithm we have proposed provides better results than competitive solutions.

If the inline PDF is not rendering correctly, you can download the PDF file here.

  • [1] L. Karrach and E. Pivarčiová, “Data Matrix Code Location Marked with Laser on Surface of Metal Tools”, Acta facultatis technicae vol. 22, no, 2, 2017, pp. 29–38.

  • [2] L. Karrach and E. Pivarčiová, “The Analyse of the Various Methods for Location of Data Matrix Codes Images”, Elektro 2018: 12th International Conference Mikulov, 2018.

  • [3] Q. Huang. W-S. Chen, X-Y. Huang and Y-Y Zhu, “Data Matrix Code Location Based on Finder Pattern Detection and”, Mathematical Problems in Engineering, 2012.

  • [4] J. B. Burns, R. Hansona and M. Risemane, “Extracting Straight Lines”, IEEE Transactions on Pattern Analysis and Machine Intelligence 1986.

  • [5] R. G. von Gioi, J. Jakubowicz, J. M. Morel and G. Randall, “LSD: a Fast Line Segment Detector with a False Detection Control”, IEEE Transactions on Pattern Analysis and Machine Intelligence 2010.

  • [6] H. Donghong, T. Hui and C. Xinmeng, “Radon Transformation Applied Two Dimensional Barcode Image Recognition”, Journal of Wuhan University 2005.

  • [7] Z. Chenguang, Y. Na and H. Rukun, “Study of Two Dimensional Barcode Identification Technology based on Hough Transform”, Journal of Changchun Normal University 2007.

  • [8] Jeng-An, Lin and Chiou-Shann Fuh, “2D Barcode Image Decoding”, Mathematical Problems in Engineering 2013.

  • [9] P. Gaur and S. Tiwari, “Recognition of 2D Barcode Images Using Edge Detection and Morphological Operation”, International Journal of Computer Science and Mobile Computing 2014.

  • [10] S. Li, J. Shang, Z. Duan and J. Huang, “Fast Detection Method of Quick Response Code based on Run-Length Coding”, IET Image Processing vol. 12, no. 4, 2018, pp. 546–551.

  • [11] D. K. Hansen and K. Nasrollahi, “Real-Time Barcode Detection and Classification Using Deep Learning”, 9th International Joint Conference on Computational Intelligence 2017.

  • [12] D. Bradley and G. Roth, “Adaptive Thresholding Using the Integral Image”, Journal of Graphics Tools 2007.

  • [13] W. Niblack, “An Introduction to Digital Image Processing”, 1986.

  • [14] J. Sauvola and M. Pietikainen, “Adaptive Document Image Binarization”, Pattern Recognition vol. 33, 2000, pp. 225–236.

  • [15] A. Rosenfeld and J. Pfaltz, “Sequential Operations Digital Image Processing”, J. ACM 1966, pp. 471–494.

  • [16] M. Laughton, “Open Source Software for Reading and Writing Data Matrix Barcodes” 2011, <>.

  • [17] Google, “ZXing” (“Zebra Crossing”) Barcode Scanning Library for Java Android”, <>, Accessed April 12, 2018.

  • [18] On Barcode, “NET Barcode Reader Component” URL: barcode reader, Accessed April 12, 2018.

  • [19] “Dynamsoft, Barcode Reader SDK”, URL:, Accessed April 12, 2018.

  • [20] Leadtools, “Data Matrix SDK”, URL:, Accessed April 12, 2018.

  • [21] Inlite Research Inc. “Barcode Reader SDK”, URL:, Accessed April 12, 2018.

  • [22] Y. Turygin, P. Božek, Y. Nikitin, E. Sosnovich and A. Abramov, “Enhancing the Reliability of Mobile Robots Control Process via Reverse Validation”, International Journal of Advanced Robotic Systems vol. 13, no. 6, 2016, pp. 1–8.

  • [23] P. Božek, “Robot Path Optimization for Spot Welding Applications Automotive Industry”, Tehnicki Vjesnik – Technical Gazette vol. 20, no. 5, 2013, pp. 913–917.

  • [24] D. Brodić, “Text Line Segmentation with Water Flow Algorithm based on Power Function”, Journal of Electrical Engineering vol. 66, no. 3, 2015, pp. 132–141.

  • [25] D. Brodić and Z. N. Milivojević, “Text Line Segmentation with the Algorithm based on the Oriented Anisotropic Gaussian Kernel”, Journal of Electrical Engineering vol. 64, no. 4, 2013, pp. 238–24.


Journal + Issues