Major New Features of HALCON 12.0.1


HALCON Library

  • The visualization of 3D scenes now supports text labels. For this, HALCON has been extended with the new operatorswhich allow to create, modify, and remove labels.The HDevelop example program
    • hdevelop/Graphics/3D-Scene/display_scene_3d.hdev
    has been extended to show the usage of text labels in 3D scenes.
  • find_bar_code and decode_bar_code_rectangle2 are now more robust against print growth, print loss, and overexposure for 2/5 Interleaved codes.
  • The bar code reader is now able to read EAN-13, EAN-8, UPC-A, UPC-E, and EAN/UPC Add-On bar codes in highly blurred images. This works also if the images show moderate effects of overexposure or print growth in addition to the blur. As a consequence, the HDevelop example program barcode_typical_cases.hdev has been adapted. It showed how to handle the problem of reading a blurred EAN-13 code and suggested to preprocess the image. This preprocessing is no longer required and has therefore been removed from the example program.
  • The bar code reader is now more robust against interfering edges outside the bar code region.
  • get_data_code_2d_results now returns the additional print quality grading parameters ‘Format Information’ and ‘Version Information’ for QR Codes and Micro QR Codes for ‘quality_isoiec15415’ and ‘quality_aimdpm_1_2006’.
  • All pretrained OCR fonts are now available in a variant with regularized weights and with a rejection class (suffix “_Rej”) and in a variant with regularized weights but without a rejection class (suffix “_NoRej”). Because of the regularization, the new pretrained OCR fonts provide more meaningful confidences. Because of the rejection class, it is possible to distinguish characters from background clutter. The new pretrained fonts are
    • DotPrint_0-9+_NoRej.omc,
    • DotPrint_0-9+_Rej.omc,
    • DotPrint_0-9A-Z_NoRej.omc,
    • DotPrint_0-9A-Z_Rej.omc,
    • DotPrint_0-9_NoRej.omc,
    • DotPrint_0-9_Rej.omc,
    • DotPrint_A-Z+_NoRej.omc,
    • DotPrint_A-Z+_Rej.omc,
    • DotPrint_NoRej.omc,
    • DotPrint_Rej.omc,
    • HandWritten_0-9_NoRej.omc,
    • HandWritten_0-9_Rej.omc,
    • OCRA_0-9A-Z_NoRej.omc,
    • OCRA_0-9A-Z_Rej.omc,
    • OCRA_0-9_NoRej.omc,
    • OCRA_0-9_Rej.omc,
    • OCRA_A-Z+_NoRej.omc,
    • OCRA_A-Z+_Rej.omc,
    • OCRA_NoRej.omc,
    • OCRA_Rej.omc,
    • OCRB_0-9A-Z_NoRej.omc,
    • OCRB_0-9A-Z_Rej.omc,
    • OCRB_0-9_NoRej.omc,
    • OCRB_0-9_Rej.omc,
    • OCRB_A-Z+_NoRej.omc,
    • OCRB_A-Z+_Rej.omc,
    • OCRB_NoRej.omc,
    • OCRB_Rej.omc,
    • OCRB_passport_NoRej.omc,
    • OCRB_passport_Rej.omc,
    • Pharma_0-9+.omc,
    • Pharma_0-9+_NoRej.omc,
    • Pharma_0-9+_Rej.omc,
    • Pharma_0-9A-Z_NoRej.omc,
    • Pharma_0-9A-Z_Rej.omc,
    • Pharma_0-9_NoRej.omc,
    • Pharma_0-9_Rej.omc,
    • Pharma_NoRej.omc,
    • Pharma_Rej.omc,
    • SEMI_NoRej.omc, and
    • SEMI_Rej.omc.
    All pretrained fonts can be found in the HALCON subdirectory ocr.

HDevelop

  • The loading of large and complex procedure libraries has been accelerated for HDevelop and HDevEngine.
  • HDevelop’s profiler has been enhanced in the following ways:
    • It is possible to select lines in the profiler pane. The sum of the selected values of these lines is displayed in a field in the status bar.
    • It is possible to activate and deactivate lines from being displayed in the profiler pane to achieve a meaningful visualization of the runtimes via the displayed bars. Because the lengths of the displayed bars are adapted to the maximum of the displayed values, one operator with a significantly longer runtime would otherwise lead to virtually indistinguishable bars for the faster operators. Use the respective entries in the context menu of the profiler pane or under Execute->Profiler Display to activate and deactivate lines in the profiler.
    In this respect, also the Runtime Statistic window, which uses the data of the profiler, has been enhanced in the following ways:
    • It can be selected to hide or show all deactivated program lines.
    • Activation and deactivation of program lines can also be done via the context menu or the tool bar in the Runtime Statistic window.
    • It is possible to switch from showing all program lines of the current program to showing only the program lines from the procedure currently shown in the Program Window.
    Furthermore, the number of icons in the tool bar of the Program Window has been reduced.

Examples

  • HALCON has been extended with the C# example program MultiThreadingMessageQueues that demonstrates
    • the actor model concurrency pattern,
    • the new event based functionality, and
    • asynchronous visualization.
    The actor model concurrency pattern is used to solve the basic task of grabbing an image, processing it, and displaying the results, which is amenable to be scaled. The new event based functionality is used to give immediate feedback based on the current interaction. The asynchronous visualization allows to improve the throughput of the application.

Miscellaneous

  • HDevelop provides in-line operations for many of the tuple operators. These operations are generally described in the language chapter of the HDevelop User’s Guide. Now, these operations are also mentioned in the HALCON Operator Reference of the corresponding operators to make them more visible.
  • The usability of the HALCON Variable Inspect extension for Visual Studio has been improved in several ways:
    • The layout of the HALCON Variable Inspect extension for Visual Studio has been renewed.
    • All local HALCON variables used in the current method are automatically listed. Therefore, the H Button in the GUI is no longer needed and has been removed.
    • The data of the inspected HALCON variable is now automatically displayed whenever the data changes.
    • For RGB images the RGB values are now displayed during the mouse over.
    • Bugs in the visualization of images have been removed.
    • A bug concerning memory and large images has been removed.
    • A bug concerning empty or uninitialized variables has been removed.
    • HALCON objects derived from the Variable Inspect are supported.
  • The HALCON Variable Inspect extension for Visual Studio now also supports the image types int2, uint2, int4, and int8.