Fast and robust bulk code reading with MVTec HALCON
Medical Supplies & Pharmaceutical
Bar Code & Data Code Reading
The challenge: EU Falsified Medicines Directive
The pharmaceutical industry in particular has strict guidelines pertaining to the safety, labeling, and documentation of medicines. The EU Falsified Medicines Directive, which has been in force in Europe since February 9, 2019, requires all prescription drugs to be authenticated before being dispensed to patients.
This is done using a safety feature in the form of a data matrix code that must be attached to all prescription medicines. The code contains the product and serial numbers, expiration date, and batch number. A product’s authenticity can be verified at any time by comparing it with a database containing every medicine currently in circulation. This requirement results in a great deal of effort for manufacturers and distributors when it comes to packaging as well as checking this variable code, which must be printed on every box. To shorten the process time, this data is aggregated when the product is packed in boxes and when it is inspected on receipt. For this purpose, large quantities of data must be read simultaneously.
The way to meet the above-mentioned challenges is with a complete, integrated solution that focuses on different technical features. Safe-Ident Code is a new product from Strelen Control Systems GmbH, a machine vision company with headquarters near Frankfurt, Germany, and in Eastern Switzerland. Compared to the conventional practice of reading each individual code with a handheld scanner, the complete solution offers considerable benefit by speeding up processing by a factor of 100.
The machine vision software
The solution is based on the machine vision library in the standard machine vision software MVTec HALCON that is integrated into the inspection system's graphical user interface and ensures high reading quality and fast processing. MVTec HALCON is used to decode the data matrix codes in the camera image. The camera image is first read in. Following a number of preprocessing steps, the data matrix codes are detected and decoded, and the resulting data is finally output. The primary purpose of preprocessing is to read all the codes quickly but extremely robustly, which is crucial for large data volumes such as those produced with a 21 MP camera.
With the aid of various morphological operations performed by the HALCON library, it is possible to reduce the data to be processed to a fraction of its volume in just a few steps. The images are then evaluated. A model of the codes to be identified is first created using the HALCON operator create_data_code_2d_model. For this purpose, the user can define certain parameters, such as the polarity of the code to be read. In the next step, HALCON detects the codes in the image that correspond to the model based on the find_data_code_2d operator and reads out the information they contain. The information thus obtained is output in the form of decoded strings and additional control output parameters, such as the position of the code or a surrounding rectangle (iconic output parameters).
Since the application is designed to be very broad and flexible, the user needs to make very few modifications. However, if the customer has different requirements, changes within the machine vision system can be made simply and easily and implemented in just a few minutes.
Text kindly provided by Strelen Control Systems GmbH.