Major New Features of HALCON 12.0.2


HALCON Library

  • The bar code reader has been improved for 2/5 Industrial and 2/5 Interleaved code types. Previously, the operators find_bar_code and decode_bar_code_rectangle2 produced multiple false reads by default, because these specific code types are easily misread in other structures like text and clutter. To get a more robust result, the default settings have been adjusted. For that, the new parameter ‘min_code_length’ has been introduced for all code types. If the minimal number of decode characters is known in advance, this parameter can be specified to reduce false reads. For 2/5 code types the default of this parameter is set to 3 and for all other code types to 0. Additionally, the default of the parameter ‘min_identical_scanlines’ has been increased from 0 to 2 for 2/5 Industrial and 2/5 Interleaved codes. Both settings together help to avoid the problem of multiple misreads especially for images including clutter and text.
  • The reading rate of the bar code reader has been significantly improved for bar codes that are distorted by underexposure, overexposure, or print growth. Now, all bar code types can be robustly read even if the images are extremely underexposed or overexposed.
  • The QR code reader now supports the decoding of symbols that contain Chinese characters encoded according to the Chinese national standard GBT 18284-2000.
  • get_data_code_2d_results now returns the synthetic aperture used for the print quality grading as part of the tuple returned via the parameters ‘quality_isoiec15415_labels’, ‘quality_isoiec15415’, and ‘quality_isoiec15415_values’ as well as ‘quality_aimdpm_1_2006_labels’, ‘quality_aimdpm_1_2006’, and ‘quality_aimdpm_1_2006_values’. Moreover, for Data Matrix ECC 200 codes some intermediate results assessed during the print quality grading process can be retrieved via the new parameters ‘quality_isoiec15415_intermediate_labels’, ‘quality_isoiec15415_intermediate’, and ‘quality_isoiec15415_intermediate_values’ as well as ‘quality_aimdpm_1_2006_intermediate_labels’, ‘quality_aimdpm_1_2006_intermediate’, and ‘quality_aimdpm_1_2006_intermediate_values’.
    The new HDevelop example program
    • hdevelop/Identification/Data-Code/ecc200_print_quality_intermediate_results.hdevshows the use of the intermediate grading results.
  • The operators
    • set_scene_3d_instance_param,
    • set_scene_3d_param,
    • disp_object_model_3d,
    • render_object_model_3d, and
    • the procedure visualize_object_model_3dhave been extended by parameters that support the setting of a value range for the attributes used for the visualization of 3D object models:
    • ‘color_attrib_start’,
    • ‘color_attrib_end’,
    • ‘rgb_channel_attrib_start’, and
    • ‘rgb_channel_attrib_end’.The parameters
    • ‘intensity’,
    • ‘intensity_red’,
    • ‘intensity_green’, and
    • ‘intensity_blue’have been replaced by the parameters
    • ‘color_attrib’,
    • ‘red_channel_attrib’,
    • ‘green_channel_attrib’, and
    • ‘blue_channel_attrib’.For backwards compatibility, ‘intensity’, ‘intensity_red’, ‘intensity_green’, and ‘intensity_blue’ can still be used, if the new functionality is not needed. Note however that the default behavior of ‘red_channel_attrib’, ‘green_channel_attrib’, and ‘blue_channel_attrib’ is different from the default behavior of ‘intensity_red’, ‘intensity_green’, and ‘intensity_blue’. The new parameters use a fixed default range from 0 to 255 for the attribute values instead of scaling them automatically.
      The HDevelop example programs
    • hdevelop/3D-Matching/Deformable-Surface-Based/find_deformable_surface_model.hdev,
    • hdevelop/3D-Object-Model/Creation/set_object_model_3d_attrib.hdev,
    • hdevelop/3D-Object-Model/Features/moments_object_model_3d.hdev,
    • hdevelop/3D-Object-Model/Transformations/interactive_intersection.hdev,
    • hdevelop/3D-Reconstruction/Multi-View/reconstruct_points_stereo.hdev,
    • hdevelop/Applications/Robot-Vision/reconstruct_3d_object_model_for_matching.hdev,
    • hdevelop/Applications/Surface-Inspection/check_for_holes_sheet_of_light.hdev,
    • hdevelop/Classification/k-Nearest-Neighbor/nearest_neighbors.hdev,
    • hdevelop/Filters/Scene-Flow/scene_flow_globe.hdev, and
    • hdevelop/Graphics/Output/disp_object_model_3d.hdevhave been adapted accordingly.

Examples

  • The new HDevelop example program
    • hdevelop/System/Parallelization/simulate_aop.hdev
    shows how to simulate automatic operator parallelization (AOP) using parallel programming in HDevelop.

Procedures

  • HALCON has been extended with the procedure xyz_attrib_to_object_model_3d. This procedure creates a 3D object model from three images that contain the X, Y, and Z-coordinates of 3D points and add extended attributes to every point of the 3D object model. The use of this procedure is shown in the new HDevelop example program
    • hdevelop/3D-Object-Model/Creation/xyz_attrib_to_object_model_3d.hdev
    • hdevelop/3D-Reconstruction/Binocular-Stereo/disparity_image_to_xyz.hdevAdditionally, the existing HDevelop example programhas been adapted to make use of the new procedure.

Miscellaneous

  • Within the HDevEngine, the execution of simple assignment operations within a for loop has been accelerated by about 50%.
    In addition, the speed up when calling procedures with a lot of arithmetical operations in parallel has also been increased.
  • The HALCON Variable Inspect extension for Visual Studio lists the variables unsorted by default. Now, the variables can also be listed in alphabetical order. Whether the variables are sorted by name or in the default order can be controlled via the new context menu for the variable list.