MVTEC Halcon 21.05.0.0 Progress Runtime Version Linux for ARM AARCH64-LINUX HALCON21.05.0.0演进运行版 64位AARCH64版
MVTEC Halcon 21.05.0.0 Progress Runtime Version Linux for ARM AARCH64-LINUXHALCON21.05.0.0演进运行版 64位AARCH64版文件名: halcon-21.05.0.0-aarch64-linux-offline.zip
文件大小: 958585755 字节 (914.18 MB)
修改日期: 2021-06-04 11:18
MD5: 1028c2e7a6e2a1e27236309a4d7a3e7e
SHA1: 01d89b275921c266840e644e5b06bfcfe80635dc
SHA256: e0462822cdbdbcf6d7a38de39c1e17d11a3960f16339cfb6653ed9c7f41a3dce
CRC32: d1cff642
MVTEC官方地址:
www.mvtec.com
百度网盘下载地址:
链接:**** Hidden Message *****
提取码:121d
大恒图像下载地址:**** Hidden Message *****
RELEASE NOTES FOR HALCON 21.05 PROGRESSThis document provides the release notes for MVTec HALCON 21.05 Progress as released in May 2021.CONTENTS
[*]Major New Features of HALCON 21.05.0.0 Progress
[*]Generic Shape Matching
[*]HDevelop Usability Improvements
[*]Deep OCR Improvements
[*]HALCON Deep Learning Framework
[*]NVIDIA® TensorRT™ Inference Plugin
[*]Subpixel Bar Code Reader Improvements
[*]Compatibility
[*]Licenses
[*]HALCON Library
[*]HALCON Applications
[*]Image Acquisition Interfaces
[*]Digital I/O Interfaces
[*]Extension Packages
[*]Further Compatibility Information
[*]Supported Operating Systems
[*]Detailed Description of Changes in HALCON 21.05.0.0 Progress
[*]HDevelop
[*]New Functionality
[*]Bug Fixes
[*]HDevelop Example Programs
[*]HDevEngine
[*]Bug Fixes
[*]HALCON Library
[*]Speedup
[*]New Functionality
[*]Bug Fixes
[*]HALCON/C
[*]HALCON/C++
[*]HALCON/.NET
[*]HALCON/PYTHON
[*]Language Interface Example Programs
[*]Image Acquisition Interfaces
[*]Digital I/O Interfaces
[*]Documentation
[*]Installation
[*]Licensing
[*]Miscellaneous
[*]Release Notes of Previous HALCON Versions
MAJOR NEW FEATURES OF HALCON 21.05.0.0 PROGRESSGENERIC SHAPE MATCHINGHALCON 21.05 introduces Generic Shape Matching, which makes MVTec’s industry-proven shape matching technologies even more user-friendly and future proof.
By significantly reducing the number of required operators, users can now implement their solution much faster and easier. Moreover, thanks to the unification of HALCON’s different shape matching methods into a single set of operators, users can now integrate new shape-matching-related features more easily.HDEVELOP USABILITY IMPROVEMENTSHDevelop’s new window docking has been improved. Users have now more options to control the position where floating windows are opened.
In addition, HDevelop now also includes a new docking feature called “Auto-hide”. This allows users to quickly shrink widgets they currently don’t need into the sidebar and easily bring them back when needed. Finally, graphics windows can now be grouped and organized in a much more convenient manner.DEEP OCR IMPROVEMENTSWith HALCON 21.05, the performance and usability of Deep OCR have been improved. Big images are now handled more robustly and the result now contains a list of character candidates with corresponding confidence values, which can be used to further improve the recognition results.
Customers also benefit from an overall improved stability as well as from the fact that they can address a wider range of possible applications, thanks to additional character support.HALCON DEEP LEARNING FRAMEWORKHALCON 21.05 introduces a first version of the HALCON Deep Learning Framework.
This framework allows experienced users to create their own models within HALCON. With this feature, experts can now realize even the most demanding and highly complex applications in HALCON without having to rely on pretrained networks or third-party frameworks.NVIDIA® TENSORRT™ INFERENCE PLUGINHALCON 21.05 introduces support for the NVIDIA TensorRT inference engine.
This can significantly increase the inference speed of applications and thus enables faster production cycles. In addition to the speedup, users also benefit from a significantly lower memory consumption, which increases hardware flexibility.SUBPIXEL BAR CODE READER IMPROVEMENTSHALCON’s subpixel bar code reader is capable of reading codes with very thin bars. In HALCON 21.05, the subpixel bar code reader has been improved regarding low-resolved codes. The decoding rate for those can now increase up to 50%.COMPATIBILITYLICENSESHALCON 21.05.0.0 Progress requires a valid HALCON Progress license and does not run with licenses of HALCON 13 and earlier versions or HALCON Steady.
HALCON LIBRARYCompared to HALCON 20.11 Progress, many extensions have been introduced. Thus, the HALCON 21.05.0.0 Progress libraries are not binary compatible with HALCON 20.11 Progress or earlier versions. However, HALCON 21.05.0.0 Progress is mostly source-code compatible to HALCON 20.11 Progress except for the changes listed below:
[*]The struct _HhandleList has been renamed to HhandleListT. Programs using _HhandleList must be adapted. More information.
[*]The procedure preprocess_dl_model_images is now faster for image types 'byte', 'int2', and 'uint2'. As a consequence, the resulting preprocessed images can be slightly different to the previous version. Other procedures using preprocess_dl_model_images, e.g., preprocess_dl_samples and preprocess_dl_dataset, are affected as well. This can cause compatibility issues when performing inference with deep learning models trained using the previous versions. More information.
[*]The read_dl_model low level error message has been changed in case that reading an ONNX model failed due to an unsupported Softmax or LogSoftmax node. Now, the generic error codes "Unsupported value for attribute axis in Softmax node" or "Unsupported value for attribute axis in LogSoftmax node" are returned, respectively.
[*]Due to changes in merging scanlines, find_bar_code might return different results if the barcode parameter 'merge_scanlines' is set to 'true'. More information.
[*]The orientation returned by text_line_orientation can differ slightly from previous results. More information.
[*]As the deep learning edge extraction model pretrained_dl_edge_extractor.hdl has been replaced, the behavior of the model can differ significantly from the model previously released with HALCON 20.11. More information.
[*]Although the results are now closer to other HALCON supported architectures, the improved accuracy of an internal operation on Arm can lead to slightly different results compared to previous HALCON versions for the following operators:
binocular_disparity, binocular_distance, edges_color, find_ncc_model, find_ncc_models, find_aniso_shape_model, find_aniso_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_shape_model, find_shape_models, find_shape_model_3d, find_local_deformable_model, find_planar_calib_deformable_model, find_planar_uncalib_deformable_model, reconstruct_surface_stereo, and operators for edge-supported surface based matching. More information.
HALCON APPLICATIONSPlease re-compile all C, C++, or .NET programs developed with HALCON 20.11 Progress. The incompatibility with HALCON 20.11 Progress or earlier versions mainly concerns the binaries, with only few changes in the language interfaces. If you encounter problems during recompiling your programs, please check the detailed description of changes below.
IMAGE ACQUISITION INTERFACESIn general, HALCON 21.05.0.0 Progress, HALCON 20.11 Progress, and HALCON 18.11 Steady image acquisition interfaces are library compatible.HALCON 21.05.0.0 Progress includes only a subset of available image acquisition interfaces. Image acquisition interfaces that are included are: DirectFile, DirectShow, File, GenICamTL, GigEVision2, GStreamer, USB3Vision, and Video4Linux2. You can download additional interfaces from our web server.
DIGITAL I/O INTERFACESIn general, HALCON 21.05.0.0 Progress, HALCON 20.11 Progress, and HALCON 18.11 Steady digital I/O interfaces are library compatible.HALCON 21.05.0.0 Progress includes only a subset of available digital I/O interfaces. Digital I/O interfaces that are included are: Linux-GPIO and OPC_UA. You can download additional interfaces from our web server.
EXTENSION PACKAGESPlease re-generate your own extension packages developed with HALCON 20.11 Progress.
FURTHER COMPATIBILITY INFORMATION
[*]When using legacy handle mode in HALCON/.NET, casting a HTuple containing a handle to bool will no longer raise an exception. Instead, it will behave the same as if the tuple contained the numeric handle value. The new behavior is consistent with how legacy code would behave prior to 18.05 but different to how the legacy mode worked from 18.05 to 20.11 (on 64-bit architectures). More information.
[*]The initializer of HALCON/Python 'HNull' no longer takes a ctypes pointer as argument. The new initializer takes no parameters.
SUPPORTED OPERATING SYSTEMSWINDOWSHALCON 21.05.0.0 Progress has been compiled for the x64-win64 platform version for Windows 8.1/10 or Windows Server 2008 R2/2012 R2/2016/2019 x64 Edition on Intel 64 or AMD 64 processors.
LINUXHALCON 21.05.0.0 Progress has been compiled for the following Linux platform versions:
[*]x64 platform version for Linux x86_64, GLIBC_2.17, GLIBCXX_3.4.21, on Intel 64 or AMD 64 processors
[*]armv7a platform version for Linux armv7a, Kernel with hidraw support, hard-float ABI, GLIBC_2.17, GLIBCXX_3.4.21 on Armv7-A processors with NEON support
[*]aarch64 platform version for Linux aarch64, Kernel with hidraw support, GLIBC_2.17, GLIBCXX_3.4.21 on AArch64 processors
Please refer to the Installation Guide for detailed system requirements corresponding to the different Application Binary Interfaces.
MACOSHALCON 21.05.0.0 Progress has been compiled for the x64 platform version of macOS 10.15 on Intel 64.
DETAILED DESCRIPTION OF CHANGES IN HALCON 21.05.0.0 PROGRESSThe changes in HALCON 21.05.0.0 Progress are described with respect to HALCON 20.11 Progress.HDEVELOPNEW FUNCTIONALITYGUI
[*]HDevelop now provides a new “canvas” window, which can be used to group and organize graphics windows. By default, HDevelop now start with a canvas window. For more information about its functionality, see the HDevelop User's Guide.
[*]The usability of floating windows has been improved. Now, it is possible to minimize floating windows or to place them behind the main application. Additionally, shortcuts are provided to bring all floating windows in front of the application conveniently, or to bring the main window in front of all floating windows.
[*]As it considerably increases the options to organize the HDevelop working environment, it is now possible to hide docked windows in a sidebar.
[*]The new option "Origin of coordinates" (Edit > Preferences > General Options) allows users to choose the origin for the floating windows.
[*]The 'Cascade Floating Windows' menu command has been improved. Now, the origin of the first cascading window is set according to "Origin of coordinates".
[*]The icon indicating a wrong configuration in the image acquisition assistant of HDevelop has been improved.
HELP
[*]The footer of the HTML documentation now contains links to our LinkedIn and YouTube channels, which provide further interesting content, like the latest MVTec news or HALCON tutorial videos.
MISCELLANEOUS
[*]HDevelop now supports telemetry. This functionality can be configured via the Telemetry tab in the Preferences dialog.
[*]Now it is possible to use HDevelop with software rendering under Windows 64-bit. To enable this feature, enter "set QT_OPENGL=software" on the command line and start HDevelop. Be aware that this is only a fallback if the graphics card's capabilities are not available.
BUG FIXESASSISTANTS
[*]The "Interface Library" field of the image acquisition assistant did not change its background color when switching between dark and light theme. This problem has been fixed.
[*]Parameter names on the Parameter tab of the image acquisition assistant were difficult to read when using the dark theme. This problem has been fixed.
[*]The matching assistant could flicker or freeze when used in combination with a floating graphics window. This problem has been fixed.
[*]Closing one of HDevelop's assistants via its file menu left an empty window. This problem has been fixed.
[*]When using the dark theme, some UI elements of the assistants did not appear well, making some texts difficult to read. This problem has been fixed.
[*]dev_open_tool had some minor problems. These problems have been fixed.
CODE EXPORT
[*]If an output variable for an operator call was also used in an expression passed as input parameter (e.g., concatenation), the export to C# and VB.net did not work. This problem has been fixed.
[*]A file selection dialog in HDevelop's Export Language dialog still offered "C++ (HALCON-10 - legacy)" as file format even though it is no longer supported. This problem has been fixed.
[*]On macOS, the C++ code exported by HDevelop could crash on program exit. This problem has been fixed.
GUI
[*]HDevelop's variable inspection windows did not use the selected 'Values and Parameters' font when opened. This problem has been fixed.
[*]When the Browse HDevelop Example Programs dialog of a newly installed HDevelop was opened for the first time, no categories were selected. Thus, no examples were displayed until the user selected a category, which made working with the example browser somewhat awkward. This problem has been fixed. Now, the Example dialog is opened for the first time with all categories preselected.
[*]On Windows systems, HDevelop did not correctly remember its initial geometry when maximized. After closing and restarting, HDevelop filled the entire screen when changing from a maximized to a non-maximized state. This problem has been fixed. Now, HDevelop returns to the last size and position before maximizing, regardless whether that happened during the current or a previous session.
Note that this functionality is not available on Linux systems. There, HDevelop always returns to a default size and position.
[*]Some variable inspect windows could have been closed programmatically although they had been docked. This problem has been fixed.
[*]The keyboard focus was lost if the user executed a HDevelop script with floating (graphics) windows. This problem was fixed by minimizable windows.
[*]The height of the rows in the Example browser's result list was not updated when the font size was changed. This problem has been fixed.
[*]HDevelop's Edit Procedure Interface did not display the path to the selected .hdvp/.dvp procedures in the Directory selection box. This problem has been fixed.
[*]Selecting windows using the menu did not activate them. This problem has been fixed.
[*]The iconic select dialog (accessible from the variable window when displaying content for iconic image arrays) could get lost behind the main window and also did not reappear when displaying content for another variable. This problem has been fixed. In addition, the dialog is now a standard window, which appears in the window list, and is dockable.
[*]On some platforms, the program editor did not have the input focus on startup. This problem has been fixed.
[*]The Graphics window and other windows could have been opened out of screen depending on display setting. This problem has been fixed.
[*]Clicking on the activate or deactivate program line actions sometimes did not work as expected. This problem has been fixed.
[*]If a procedure interface dialog had been added to the docking environment during the previous session, and then this dialog was used in the new session, HDevelop could crash during a restart. This problem has been fixed.
[*]Very large images caused HDevelop to slow down significantly when editing. This problem has been fixed.
[*]HDevelop crashed when either a zoom window received keyboard input or the content of a zoom window was moved by dragging. This problem has been fixed.
[*]Docking some widgets to the main application could cause a change in the geometry of the main application. This problem has been fixed.
[*]In certain cases, HDevelop's autocompletion obscured the line that was currently being edited. This happened if a procedure was running in a subthread during editing. This problem has been fixed.
[*]If windows of the same type were docked next to each other, shortcuts sometimes did not work. This problem has been fixed.
[*]Double-clicking in the HDevelop graphics window could result in incorrect coordinates when using interactive operators like get_mposition. This problem has been fixed.
[*]Closing a docked window could cause resizing another docked window to crash the application. This problem has been fixed.
[*]The text color of HDevelop's dark theme only provided little contrast against yellow or red background, which is used to indicate an invalid input. This problem has been fixed. Now, the text color in combination with such backgrounds is black, regardless of the chosen theme.
[*]The minimum size of the preferences dialog was too big. This problem has been fixed.
HELP
[*]The table of contents in the tree view of HDevelop's help window differed from the table of contents of the documentation's start page. This problem has been fixed.
IDE
[*]Replacing asterisks at the beginning of a program line with the Find/Replace dialog of HDevelop or replacing text at the beginning of a program line with asterisks could lead to unexpected results. In the worst case, HDevelop could freeze. This problem has been fixed.
PROCEDURES
[*]When renaming a procedure parameter, expressions that used the procedure parameter to generate a tuple sequence were not correctly adapted. This problem has been fixed.
MISCELLANEOUS
[*]Outdated tips of the day have been updated or removed.
HDEVELOP EXAMPLE PROGRAMSNEW HDEVELOP EXAMPLE PROGRAMS
[*]hdevelop/3D-Object-Model/Transformations/smooth_object_model_3d.hdev
[*]hdevelop/Deep-Learning/Classification/optimize_dl_model_for_inference_classification.hdev
[*]hdevelop/Deep-Learning/Framework/create_dl_model_classification.hdev
[*]hdevelop/Deep-Learning/Framework/create_dl_model_segmentation.hdev
[*]hdevelop/Image/Acquisition/genicamtl_frame_rate.hdev
[*]hdevelop/Image/Acquisition/gstreamer_frame_rate.hdev
[*]hdevelop/Image/Acquisition/usb3vision_frame_rate.hdev
[*]hdevelop/Matching/Shape-Based/find_generic_shape_model_workflow.hdev
[*]hdevelop/Matching/Shape-Based/find_generic_shape_model_xld_workflow.hdev
BUG FIXES
[*]The following deep learning examples did not use the same device for evaluation as in the training mode:
[*]dl_classification_workflow.hdev
[*]dl_detection_with orientation_workflow.hdev
[*]dl_detection_workflow.hdev
[*]dl_segmentation_workflow.hdev
This problem has been fixed.
HDEVENGINEBUG FIXES
[*]Failing to initialize a vector output parameter of a procedure caused the return values for all subsequent output parameters to be ignored as well if the call was made using par_start. This problem has been fixed.
[*]Initializing HDevEngine in a multi-threaded context could cause a crash in rare cases. This problem has been fixed.
HALCON LIBRARYSPEEDUP
[*]The arithmetic image operators abs_diff_image, add_image, scale_image, and sub_image are now faster for various image types. For Intel compatible processors with SSE/SSE2 or AVX/AVX2 support, the following speedups have been measured:
OPERATORRESOLUTIONTYPESPEEDUP UP TO
abs_diff_image1600x1200byte21%
abs_diff_image1600x1200int128%
abs_diff_image1600x1200int237%
abs_diff_image1600x1200int465%
abs_diff_image1600x1200real54%
add_image1600x1200byte63%
add_image1600x1200int436%
add_image1600x1200int816%
scale_image1600x1200byte13%
scale_image1600x1200int172%
scale_image1600x1200int2169%
scale_image1600x1200int414%
scale_image1600x1200int820%
sub_image1600x1200byte18%
sub_image1600x1200int431%
sub_image1600x1200int818%
[*]The operator 'binary_threshold' with 'Method' set to 'max_separability' is now faster up to 18% for 'byte' images on Intel compatible processors that support AVX512BW.
[*]gray_erosion_shape, gray_dilation_shape, gray_opening_shape and gray_closing_shape with 'MaskShape' set to 'rhombus' or 'octagon' are now faster for 'byte' and 'uint2' images on Intel compatible processors that support SSE or AVX2.
The following speedups have been measured:
IMAGERESOLUTIONMASKSIZESHAPEMORPHOPTHREADNUMINSTRUCTIONSTYPESPEEDUP
1600x12003x3rhombuserosion/dilation1AVX2byte103%
1600x12003x3rhombuserosion/dilation1SSE2byte19%
1600x12007x7rhombuserosion/dilation1AVX2byte79%
1600x12007x7rhombuserosion/dilation1SSE2byte13%
1600x120011x11rhombuserosion/dilation1AVX2byte82%
1600x120011x11rhombuserosion/dilation1SSE2byte13%
1600x12003x3rhombuserosion/dilation8AVX2byte139%
1600x12003x3rhombuserosion/dilation8SSE2byte56%
1600x12007x7rhombuserosion/dilation8AVX2byte87%
1600x12007x7rhombuserosion/dilation8SSE2byte34%
1600x120011x11rhombuserosion/dilation8AVX2byte109%
1600x120011x11rhombuserosion/dilation8SSE2byte23%
ImageResolutionMaskSizeShapeMorphOpThreadNumInstructionsTypeSpeedUp
1600x12003x3rhombusopening/closing1AVX2byte80%
1600x12003x3rhombusopening/closing1SSE2byte13%
1600x12007x7rhombusopening/closing1AVX2byte73%
1600x12007x7rhombusopening/closing1SSE2byte11%
1600x120011x11rhombusopening/closing1AVX2byte77%
1600x120011x11rhombusopening/closing1SSE2byte11%
1600x12003x3rhombusopening/closing8AVX2byte71%
1600x12003x3rhombusopening/closing8SSE2byte53%
1600x12007x7rhombusopening/closing8AVX2byte56%
1600x12007x7rhombusopening/closing8SSE2byte18%
1600x120011x11rhombusopening/closing8AVX2byte84%
1600x120011x11rhombusopening/closing8SSE2byte11%
ImageResolutionMaskSizeShapeMorphOpThreadNumInstructionsTypeSpeedUp
1600x12003x3octagonerosion/dilation1AVX2byte90%
1600x12003x3octagonerosion/dilation1SSE2byte19%
1600x12007x7octagonerosion/dilation1AVX2byte62%
1600x12007x7octagonerosion/dilation1SSE2byte5%
1600x120011x11octagonerosion/dilation1AVX2byte81%
1600x120011x11octagonerosion/dilation1SSE2byte14%
1600x12003x3octagonerosion/dilation8AVX2byte164%
1600x12003x3octagonerosion/dilation8SSE2byte54%
1600x12007x7octagonerosion/dilation8AVX2byte74%
1600x12007x7octagonerosion/dilation8SSE2byte22%
1600x120011x11octagonerosion/dilation8AVX2byte43%
1600x120011x11octagonerosion/dilation8SSE2byte34%
ImageResolutionMaskSizeShapeMorphOpThreadNumInstructionsTypeSpeedUp
1600x12003x3octagonopening/closing1AVX2byte81%
1600x12003x3octagonopening/closing1SSE2byte13%
1600x12007x7octagonopening/closing1AVX2byte67%
1600x12007x7octagonopening/closing1SSE2byte4%
1600x120011x11octagonopening/closing1AVX2byte78%
1600x120011x11octagonopening/closing1SSE2byte10%
1600x12003x3octagonopening/closing8AVX2byte135%
1600x12003x3octagonopening/closing8SSE2byte10%
1600x12007x7octagonopening/closing8AVX2byte58%
1600x12007x7octagonopening/closing8SSE2byte17%
1600x120011x11octagonopening/closing8AVX2byte52%
1600x120011x11octagonopening/closing8SSE2byte10%
[*]The operator laplace is now faster by up to 45% on Intel processors that support AVX2.
[*]map_image with map type 'coord_map_sub_pix', 'bilinear' and 'nearest_neighbor' is now faster for 'byte', 'uint2' and 'real' images on Intel compatible processors that support SSE2 or AVX2.
The following speedups have been measured:
IMAGERESOLUTIONMAPPINGINSTRUCTIONSTYPESPEEDUP
1600x1200coord_map_sub_pixAVX2byte139%
1600x1200coord_map_sub_pixAVX2uint2134%
1600x1200coord_map_sub_pixAVX2real232%
ImageResolutionMappingInstructionsTypeSpeedUp
1600x1200bilinearAVX2byte28%
1600x1200bilinearAVX2uint236%
1600x1200bilinearAVX2real32%
ImageResolutionMappingInstructionsTypeSpeedUp
1600x1200nearest_neighborAVX2byte1%
1600x1200nearest_neighborAVX2uint20%
1600x1200nearest_neighborAVX2real20%
[*]sobel_amp for FilterType='sum_abs' is now faster on processors that support the AVX512BW instruction set. For byte images, the speedup is up to 20%.
sobel_amp for FilterType='sum_sqrt' is now faster on processors that support the AVX512BW instruction set. For byte images, the speedup is up to 40%.
NEW FUNCTIONALITY3D
[*]smooth_object_model_3d now includes a new smoothing mode that uses the XYZ-mapping of the 3D object model to speed up the smoothing. This mode can be activated with the two new methods 'xyz_mapping' and 'xyz_mapping_compute_normals'.
The new HDevelop example program hdevelop/Object-Model-3D/Transformations/smooth_object_model_3d.hdev shows the different smoothing strategies that are supported by smooth_object_model_3d.
[*]The operator sample_object_model_3d now supports the mode furthest_point and furthest_point_compute_normals. For this mode, the number of output points is specified. The method then iteratively adds the point to the output that is furthest away from all already added points until the desired number of points is reached.
BAR CODE
[*]The subpixel bar code reader has been improved. The decoding rate of find_bar_code can increase by up to 50 percent for codes that meet the requirements of the subpixel bar code reader.
DEEP LEARNING
[*]create_dl_layer_input has been improved. Now, a new input type 'constant' exists, which allows creating an input layer that always has the same value. This value can be set via the generic parameter 'const_val'. In particular, when apply_dl_model is called, for such an input layer the DLModelHandle does not expect an entry within the feeding dictionary for input layers of type 'constant'.
[*]HALCON has been extended with the operator optimize_dl_model_for_inference, which optimizes a DL model for inference on a certain hardware device and for a certain model precision.
Further, HALCON has been extended with an operator set_dl_device_param, which can be used to set device-specific parameters for a device. To see which parameters can be set for a device, use the operator get_dl_device_param with 'settable_device_params'.
The new HDevelop example program hdevelop/Deep-Learning/Classification/optimize_dl_model_for_inference_classification.hdev shows the workflow of how to optimize the inference of a DL model on a given hardware device using the new MVTec TensorRT AI2 interface (AI Accelerator Interface) for NVIDIA GPUs.
The operator get_dl_device_param has been extended with a set of parameters that supports the usage of the new operator optimize_dl_model_for_inference:
[*]'calibration_precisions'
[*]'cast_precisions'
[*]'conversion_supported'
[*]'optimize_for_inference_params'
[*]'precisions'
Furthermore, the operator get_dl_device_param has been extended with the parameter 'settable_device_params', which returns a dictionary containing all device-specific parameters that can be set with the new operator set_dl_device_param.
The operator get_dl_model_param has been extended with the following parameters, which return information about the model's precision:
[*]'precision'
[*]'precision_is_converted'
[*]The following improvements are available for Deep OCR:
[*]set_deep_ocr_param and get_deep_ocr_param have been extended with the parameter 'detection_tiling' to enable automatic tiling of large images. This allows processing very large images even with little GPU memory.
[*]The HDevelop example program hdevelop/OCR/Deep-OCR/deep_ocr_workflow.hdev has been extended to show how to use the automatic tiling. The example uses the new image street_sign_02.jpg from the subdirectory images/ocr.
[*]The pretrained Deep OCR model for text recognition, which can be found in the directory %HALCONROOT%/dl/pretrained_deep_ocr_recognition.hdl, has been improved by using an increased training dataset.
[*]The available character set has been extended. The new model can read Japanese due dates. The example program hdevelop/OCR/Deep-OCR/deep_ocr_workflow.hdev has been extended to showcase this.
[*]apply_deep_ocr now returns a list of character candidates with their confidences in the modes 'auto' and 'recognition'.
set_deep_ocr_param and get_deep_ocr_param have been extended with the parameter 'recognition_num_char_candidates' to control how many character candidates are reported.
[*]The Deep OCR functionality has been extended with the possibility to change the batch size of the recognition component to speed up the processing in 'auto' and 'recognition' modes. Further, the preprocessing in all modes has been parallelized, which can improve the runtime in some cases.
set_deep_ocr_param and get_deep_ocr_param have been extended with a new parameter 'recognition_batch_size'. By default, it is set to 1. The parameter needs to be increased manually for potential speedups.
[*]The procedure preprocess_dl_model_images is now faster for image types 'byte', 'int2', and 'uint2', especially for large images. Note that this change affects the compatibility. Read more.
[*]The operator get_dl_model_param now supports the parameter 'num_trainable_params', which returns the total number of parameters (weights and biases) of a deep learning model that can be modified during training.
[*]The ONNX version has been updated to 1.8.1. The ONNX reader of read_dl_model now supports ONNX operator set versions 12 and 13.
[*]set_dl_model_param and get_dl_model_param have been extended with the parameter 'meta_data'. This parameter allows setting user-defined metadata (e.g., model author and version), which will be stored along with the model.
[*]apply_deep_ocr was extended with two additional keys in the result dictionary for the modes 'auto' and 'detection': 'word_boxes_on_image' and 'word_boxes_on_score_maps'. The library procedure dev_display_deep_ocr_results can now automatically display the resulting oriented word boxes on the preprocessed images or on the score maps images based on the size of the procedure's input image. A new procedure dev_display_deep_ocr_results_preprocessed was added to the library to display the results on the preprocessed images directly. The example hdevelop/OCR/Deep-OCR/deep_ocr_workflow.hdev was adapted to use the new procedure.
[*]The NVIDIA CUDA Deep Neural Network library (cuDNN) has been updated to the latest version 8.1.1. HALCON ships and supports this library for the two CUDA versions 10.2 and 11.1. The libraries can be found in the cuda10_2 and cuda11_1 subdirectories of the thirdparty library directory.
The upgrade to cuDNN 8.1.1 fixes a CPU memory leak, which occurred in apply_dl_model and train_dl_model_batch using RTX-2080 and RTX-3080 GPUs. Further, the update improves the performance of inference and training on RTX-3080 GPUs, as well as the performance of the delivered model pretrained_dl_classifier_alexnet.hdl on several GPUs.
[*]set_deep_ocr_param and get_deep_ocr_param have been extended with the new parameter 'detection_image_size' to set and get the width and height of of the images the detection component will process.
[*]There is now a TensorRT AI Accelerator Interface, which can be obtained using SOM. The HDevelop example hdevelop/Deep-Learning/Classification/optimize_dl_model_for_inference_classification.hdev has been added to show how to use the Accelerator Interface.
[*]HALCON has been extended with the Deep Learning Framework. This feature allows the creation of custom Deep Learning-based models within HALCON.
The operators for the Deep Learning Framework are:
create_dl_layer_activation, create_dl_layer_batch_normalization, create_dl_layer_class_id_conversion, create_dl_layer_concat, create_dl_layer_convolution, create_dl_layer_dense, create_dl_layer_depth_max, create_dl_layer_dropout, create_dl_layer_elementwise, create_dl_layer_input, create_dl_layer_loss_cross_entropy, create_dl_layer_loss_ctc, create_dl_layer_loss_distance, create_dl_layer_loss_focal, create_dl_layer_loss_huber, create_dl_layer_lrn, create_dl_layer_pooling, create_dl_layer_reshape, create_dl_layer_softmax, create_dl_layer_transposed_convolution, create_dl_layer_zoom_factor, create_dl_layer_zoom_size, create_dl_layer_zoom_to_layer_size, create_dl_model, get_dl_layer_param, get_dl_model_layer, get_dl_model_layer_activations, get_dl_model_layer_gradients, get_dl_model_layer_param, get_dl_model_layer_weights, load_dl_model_weights, set_dl_model_layer_param, set_dl_model_layer_weights
In this context, two HDevelop example programs have been added to show how to use the new operators in combination:
[*]hdevelop/Deep-Learning/Framework/create_dl_model_classification.hdev
[*]hdevelop/Deep-Learning/Framework/create_dl_model_segmentation.hdev
[*]The GPU memory consumption of the the deep-learning models has been optimized for the model runtime 'gpu' in case only inference is done and the model parameter 'optimize_for_inference' is not set to 'false'.
[*]The filtering mechanism of query_available_dl_devices has been improved. Now, all values that that can be retrieved with get_dl_device_param and are not handle-valued can be used for filtering.
[*]The previously released deep learning edge extraction model pretrained_dl_edge_extractor.hdl has been replaced by an improved model. This new model is up to 35% faster and allows a retraining on GPU and also CPU (note that the model released with HALCON 20.11 still requires a GPU for retraining). Additionally, the HDevelop example program hdevelop/Deep-Learning/Segmentation/segment_edges_deep_learning.hdev has been reworked to display the capabilities of the DL-based edge extraction approach on a greater variety of image types. Note that this change affects the compatibility. Read more.
GRAPHICS
[*]The performance of HALCON's visualization has been slightly improved. Region display on average (over a large set of parameter combinations) is faster by 6%, XLD display by 15% (especially dashed lines are now significantly faster). dump_window_image is faster by almost 20%. Further, the hcanvas library on Linux does not depend on libfreetype anymore.
MATCHING
[*]HALCON now provides a new operator interface for shape-based matching that unifies the operators create_shape_model, create_shape_model_xld, create_scaled_shape_model, create_scaled_shape_model_xld, create_aniso_shape_model, and create_aniso_shape_model_xld as well as find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_aniso_shape_model, and find_aniso_shape_models. Thus, this new operator interface can be used for shape-based matching models created from template images as well as contours and can also be used for all the different scaling types.
The following new operators have been added to the new operator interface:
create_generic_shape_model, set_generic_shape_model_param, get_generic_shape_model_param, set_generic_shape_model_object, train_generic_shape_model, find_generic_shape_model, get_generic_shape_model_result, get_generic_shape_model_result_object
These new HDevelop example programs show how to use the operators of the new operator interface:
[*]hdevelop/Matching/Shape-Based/find_generic_shape_model_workflow.hdev
[*]hdevelop/Matching/Shape-Based/find_generic_shape_model_xld_workflow.hdev
The former example describes the workflow for a model created from a template image, while the latter describes the workflow for a model created from an XLD contour.
The new operator interface differs from the previous implementations in that no matches should be found anymore with a scale or angle way out of the set ranges. Additionally, it is possible to return only the matches that strictly respect the set ranges by setting the parameter 'strict_boundaries'.
The previously introduced functionality that automatically adapts the lowest pyramid level for high noise images is now supported through the new operator set_generic_shape_model_object.
MISCELLANEOUS
[*]HALCON now uses standard C99 data types instead of HALCON-specific data types where applicable. The old data types are still available for backwards compatibility with source code for previous versions.
[*]The struct _HhandleList has been renamed to HhandleListT. Note that this change affects the compatibility. Read more.
BUG FIXES3D
[*]binocular_disparity_ms, binocular_distance_ms, and reconstruct_surface_stereo with 'disparity_method' set to 'binocular_ms' returned incorrect results in rare cases. This problem has been fixed.
[*]reconstruct_surface_stereo crashed on images with full domain in rare cases. This problem has been fixed.
[*]triangulate_object_model_3d with 'Method' set to 'greedy' crashed in very rare cases. This problem has been fixed.
[*]set_stereo_model_image_pairs could lead to a crash if the specified 'From' and 'To' camera pair had different image sizes. This problem has been fixed.
[*]binocular_disparity, binocular_distance, and reconstruct_surface_stereo for a stereo model with 'disparity_method' set to the default 'binocular' may have crashed in rare cases when applied to large images. This problem has been fixed.
[*]pose_compose, pose_invert, serialize_pose, write_pose, set_metrology_model_param, create_calib_descriptor_model, create_planar_calib_deformable_model, create_planar_calib_deformable_model_xld, refine_surface_model_pose, refine_surface_model_pose_image, and set_surface_model_param did not raise an error when an input pose contained an invalid pose type in its last entry. This problem has been fixed. Now, the operators return the error 8427 ("Wrong type in Pose (rotation / translation)").
[*]gen_sphere_object_model_3d and gen_sphere_object_model_3d_center created spheres with wrong radii when multiple poses or centers and only a single radius were passed. This problem has been fixed.
[*]segment_object_model_3d could crash if the input 3D object model contained triangles that were topologically invalid. This problem has been fixed. Now, the operator returns an error when encountering such a topology.
[*]When using set_surface_model_param to set the 'self_similar_poses' of a surface model that was previously serialized and de-serialized (or written and read), HALCON could crash. This problem has been fixed.
BAR CODE
[*]When in training mode, find_bar_code sometimes returned results that could not be decoded with the trained parameter afterwards. This problem has been fixed.
[*]The operator get_bar_code_result in rare cases returned wrong values for 'status', 'status_id', and 'status_small_elements_robustness'. This problem has been fixed.
[*]In very rare cases, find_bar_code could have caused a deadlock if the barcode parameter 'merge_scanlines' was set to 'true'. This problem has been fixed. Note that this change affects the compatibility. Read more.
[*]In find_bar_code, the training of the parameter 'barcode_width_min' could lead to wrong results when training multiple different images. This problem has been fixed.
CALIBRATION
[*]calibrate_cameras sometimes unnecessarily returned the error 8497 ("Calibration failed: Please check your input data and calibrate again!") for multiview setups containing three or more telecentric line-scan cameras. This problem has been fixed.
[*]The calibration plate description (.cpd) files differed slightly from the files generated using create_caltab. This problem has been fixed.
[*]merge_regions_line_scan may have crashed in rare cases with empty output regions. This problem has been fixed.
CLASSIFICATION
[*]add_sample_class_train_data wrongly handled mixed float and integer values inside the parameter 'Features'. This problem has been fixed.
COMPUTE DEVICE
[*]When used with large images of more than two gigapixels, some OpenCL operations (arithmetic image operations like abs_diff_image) were very slow or returned an error. This problem has been fixed.
DATA CODE
[*]find_data_code_2d in rare cases could not find and decode mirrored Data Matrix ECC200 codes if the parameter 'mirrored' was set to 'yes' but could if it was set to 'any'. This problem has been fixed.
[*]For mirrored Data Matrix ECC200 codes with a square shape and multiple data fields, get_data_code_2d_objects returned wrong results for 'module_1_rois' and 'module_0_rois' in some cases. This problem has been fixed.
[*]HALCON did not cope well with QR codes encoded in local encoding where a single character was split between two decoding modes. This problem has been fixed.
DEEP LEARNING
[*]The recognition model of Deep OCR was not able to read short words if the parameter 'recognition_image_width' was set to a high value (e.g., above 200 pixels). This problem has been fixed. The automatic preprocessing and training has been enhanced to support this.
[*]read_dl_model has been improved to read in more complex ONNX models with forked graphs.
Further, the error messages of read_dl_model have been improved in case ONNX models with nodes that miss an input or output node are read in. Instead of "Graph nodes should have inputs" and "Graph nodes should have outputs", the error messages "Graph node <name> should have inputs" and "Graph node <name> should have at least <num of outputs> outputs" are returned, respectively.
[*]apply_deep_ocr falsely accepted images of type 'real', which cannot be processed correctly. This problem has been fixed. Now, apply_deep_ocr supports byte images only.
[*]The procedure calculate_evaluation_measures could calculate inaccurate overall results for the evaluation_type 'detection', instance_type 'rectangle2', and measures 'soap' or 'all' if no predictions were present for one class. This problem has been fixed.
[*]The extended error message "Input layer has wrong shape or type" sometimes was misleading. This problem has been fixed. Now, the message is raised for shape and type errors only.
[*]set_dl_model_param allowed setting 'image_height and 'image_width' to values that are not a multiple of 32 for anomaly detection models, which was not an intended condition. This problem has been fixed.
[*]The accuracy of the Deep OCR detection component was reduced when the model size was not evenly divisible by 32. This problem has been fixed. Now, the model size is always rounded to the next multiple of 32 internally.
[*]For the deep learning model pretrained_dl_edge_extractor.hdl and the runtime 'gpu', the way of selecting the most suitable algorithm for the deconvolutional layers has been improved. This may lead to slight variations of the inference and training speed depending on the GPU hardware used.
[*]read_dl_model crashed when reading the inception_v1 model from the ONNX model zoo. This problem has been fixed. Now, the operator supports the model.
[*]The procedure dev_display_classification_evaluation_class_pie_chart sometimes used an unexpected font. This problem has been fixed.
[*]If the procedure preprocess_dl_samples was called with the same DLPreprocessParam dictionary in multiple threads, a race condition occurred. This problem has been fixed.
[*]The following HDevelop DL examples have been adapted to use the maximum batch size that can be used in case of GPU usage:
[*]hdevelop/Deep-Learning/Classification/classify_pill_defects_deep_learning_2_train.hdev
[*]hdevelop/Deep-Learning/Classification/dl_classification_workflow.hdev
[*]hdevelop/Deep-Learning/Segmentation/dl_segmentation_workflow.hdev
[*]hdevelop/Deep-Learning/Segmentation/segment_pill_defects_deep_learning_2_train.hdev
For the following HDevelop DL detection example, the usage of the maximum batch size in case of GPU usage has been removed:
[*]hdevelop/Deep-Learning/Detection/detect_pills_deep_learning_2_train.hdev
[*]For deep learning classification models, the procedure create_dl_train_param did not correctly use the measure 'topK_error' for K > 1 with respect to the later serialization of the best model within the procedure train_dl_model. This problem has been fixed.
FILTER
[*]add_image with image type 'int2' returned wrong results for negative numbers rounded to nearest integer values with a maximal deviation of 1. This problem has been fixed. The fix implies performance regressions of up to 40%.
[*]abs_diff_image with image type 'byte' returned wrong results if the multiplication parameter was larger than 127 and at least one of the available SIMD optimizations (SSE41 or AVX2) were enabled. This problem has been fixed.
[*]In rare cases, abs_diff_image returned wrong results for image type 'byte' and 'int1' on all supported platforms. The maximum difference was 1 gray value. This problem has been fixed.
[*]edges_image, edges_color, and nonmax_suppression_dir sometimes caused the program to crash for input images with a width or a height of 1 if the non-maximum suppression mode was set to 'nms' or 'inms'. The same applied for nonmax_suppression_amp with the non-maximum suppression mode set to 'loc_max'. These problems have been fixed.
GRAPHICS
[*]Creating a drawing object without a previously opened window triggered an unnecessary HALCON error 5286 ("Missing call to XInitThreads: multithreading support for X11 required") under Linux. This problem has been fixed.
[*]get_drawing_object_iconic and get_drawing_object_params were not synchronized with window events. In rare cases, get_drawing_object_iconic thus returned the error 3513 ("Internal error: number of chords too big for num_max"). This problem has been fixed.
INSPECTION
[*]The SIMD-optimized versions of compare_variation_model and compare_ext_variation_model returned wrong results for certain input regions. This problem has been fixed.
MATCHING
[*]The shape-based matching operators find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_aniso_shape_model, and find_aniso_shape_models crashed if the internal model cache was explicitly disabled for one of the models and more than one thread was used for the automatic operator parallelization. This problem has been fixed.
[*]To obtain results closer to other architectures supported by HALCON, the accuracy of an internal operation on Arm was increased. Note that this change affects the compatibility. Read more.
MEASURE
[*]In rare cases, fuzzy_measure_pairs crashed with cyclic measure objects (i.e., spanning 360 degrees) if no edges were found. This problem has been fixed.
MORPHOLOGY
[*]gray_range_rect crashed in rare cases if operator parallelization was disabled. This problem has been fixed.
OCR
[*]In multi-threading applications, HALCON could crash during the execution of do_ocr_word_cnn, do_ocr_word_mlp, do_ocr_word_svm, or do_ocr_word_knn. This problem has been fixed.
[*]In some cases, text_line_orientation used uninitialized values outside of the input region, which led to inaccurate results. This problem has been fixed. Note that this change affects the compatibility. Read more.
REGION
[*]rectangularity, as well as region_features and select_shape for the feature 'rectangularity', sometimes unnecessarily ran out of memory for very large regions. This problem has been fixed.
[*]For sort_region with 'SortMode' set to 'character', the optional parameter for specifying the maximum percentage overlap could be set to a value greater than 100. In rare cases, this could lead to an infinite loop when executing sort_regions. Now, the optional parameter can only be set to a value from 0 to 100.
[*]watersheds_threshold crashed for very small images. This problem has been fixed.
[*]In rare cases, watersheds_marker, object_model_3d_to_xyz, and reduce_object_model_3d_by_view could return the error 3513 ("Internal error: number of chords too big for num_max"). This problem has been fixed.
SYSTEM
[*]In rare cases, HALCON could crash when resetting a program in HDevelop with F2 while a mutex or another synchronization object was destructed. This problem has been fixed.
[*]get_extended_error_info could return an erroneous message about a license error if the first occurring error did not actually include any extended error information. This problem has been fixed.
TUPLE
[*]When calling the operators get_handle_tuple, get_handle_object, or get_handle_param simultaneously from two different threads for the first time, HALCON could return an incorrect error code or in crash in rare cases. This problem has been fixed.
[*]Serializing the same dictionary or message either through write_dict, write_message, or serialize_handle from multiple threads at the same time could lead to incorrect serializations, error messages or, in rare cases, crashes. This problem has been fixed. The serialization of dictionaries and handles is now fully reentrant.
[*]When calling integer_to_handle with multiple input integers and if some of those integers did not represent a handle or represented a cleared handle, the operator could leave the other handles in a defective state. This problem has been fixed.
[*]If the handle legacy mode was enabled and either clear_handle was called twice on the same handle, or handle_to_integer was called on an already cleared handle, HALCON could show undefined behavior and crash in rare cases. These problems have been fixed. handle_to_integer now raises an exception when called on an already cleared handle.
XLD
[*]When connecting both ends of two contours to each other, union_cotangential_contours_xld sometimes connected the wrong endpoints. This problem has been fixed.
[*]gen_cube_map_mosaic and gen_spherical_mosaic may have crashed in rare cases. This problem has been fixed.
HALCON/CBUG FIXES
[*]The C language interface ignored the error checking setting and always acted as if ~give_error had been set. This problem has been fixed.
HALCON/C++BUG FIXES
[*]The constructors HalconCpp::HTuple(double/float/Hlong*, Hlong) copied the input array but the array was not marked as const in the signature. This problem has been fixed.
HALCON/.NETFUNCTIONALITY
[*]The .NET Core NuGet package MVTec.HalconDotNet-Windows now references MVTec.HalconDotNet instead of implementing a superset. This avoids type conflicts when using both packages in one application, such as when importing .NET Standard 2.0 libraries into a .NET Core 3.1 GUI application.
BUG FIXES
[*]In HALCON/.NET, only the lower 32 bits were considered when casting a HTuple containing a long value to bool. For example, (bool) new HTuple(0x100000000L) would return false. This problem has been fixed. Note that this change affects the compatibility. Read more.
[*]When querying ParamNames or ParamDimensions in HDevEngine/.NET, it could happen that further queries were altered accidentally. This problem has been fixed. Now, a deep copy is returned as query result.
HALCON/PYTHONFUNCTIONALITY
[*]HDevEngine/Python now also supports vectors.
[*]HDevEngine/Python now also supports dev_* operators.
[*]HALCON/Python now provides much better error messages when failing to find the dynamic HALCON library.
[*]A new example shows how to embed a HALCON window in a PyQt GUI.
[*]The HALCON/Python exception class HOperatorError now includes extended error information if available.
BUG FIXES
[*]Attempting to use remote debugging via HDevEngine/Python caused a crash. This problem has been fixed.
LANGUAGE INTERFACE EXAMPLE PROGRAMSFUNCTIONALITY
[*]All C# examples have been extended to also compile and run with .NET Core 3.1.
IMAGE ACQUISITION INTERFACESThe latest information about new interface revisions and newly supported image acquisition devices can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual image acquisition interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.MISCELLANEOUS
[*]The MVTec GigE Vision Streaming Filter version 2.2.8.4, which is part of the Windows installer, fixes two problems:
[*]With the streaming filter, the EventTransferEnd was only fired for successfully received blocks but not for undeliverable ones.
[*]In rare cases, if an application did not shutdown gracefully while streaming was underway, automatic unloading of the streaming filter could lead to a crash of the operating system.
DIGITAL I/O INTERFACESThe latest information about new interface revisions and newly supported digital I/O interfaces can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual digital I/O interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.
DOCUMENTATIONPROGRAMMER'S MANUALS
[*]The documentation did not mention that HALCON Variable Inspect cannot inspect objects located in GPU but only those in CPU memory. The Programmer's Guide has been updated accordingly.
[*]The Programmer's Guide referred to an example that was not delivered. This problem has been fixed.
USER GUIDES
[*]The Quick Guide has been revised. The new guide is aimed at beginners and contains only the most necessary information for getting started with HALCON. The Quick Guide is now also available in HTML format.
[*]The documentation did not mention that the modification of model images only works for 8-bit images. This problem has been fixed. The section “Matching Assistant Reference” > “Modifying the Model Image” of the HDevelop User's Guide now contains a corresponding warning.
[*]In the HTML documentation, the navigation link ("next") jumped horizontally, which made it hard to scroll through the pages without correcting the mouse position. This problem has been fixed.
[*]The system requirements section of the Installation Guide did not mention the required OpenSSL version on Linux platforms. This problem has been fixed.
[*]The list of reserved words in the HDevelop User's Guide was not complete. This problem has been fixed.
SOLUTION GUIDES
[*]Due to improvements of the data code functionality of HALCON, the intended decoding errors in the HDevelop example 2d_data_codes_data_access.hdev did not occur anymore. To show the access of intermediate results for debugging purposes, the example has been updated accordingly.
[*]The usability of the documentation for Deep OCR has been improved. Now, it is emphasized in which step the operator create_deep_ocr needs to be called.
REFERENCE MANUAL
[*]The reference manual entries of add_scene_3d_camera, disp_object_model_3d, object_model_3d_to_xyz, and project_object_model_3d now explain more about using camera distortion on faces and primitives.
[*]The reference manual entry of apply_deep_ocr contained wrong information about the accepted number of image channels. This problem has been fixed.
[*]apply_deep_ocr falsely accepted images of type 'real', which cannot be processed correctly. This problem has been fixed. Now, apply_deep_ocr supports byte images only.
[*]Edge extraction is a special case of our deep learning-based semantic segmentation. The documentation has been improved to clarify this point and make it easier to find the method within the documentation.
[*]When navigating the operator reference, in case of Python the manual did not stay within the selected language interface scope. This problem has been fixed.
[*]The usability of the documentation for Deep OCR has been improved. Now, it is emphasized in which step the operator create_deep_ocr needs to be called.
[*]The operator description of dev_close_tool, dev_close_window, dev_close_inspect_ctrl, and dev_set_window_extents did not mention that they work for single floating windows only. This problem has been fixed.
[*]The operator reference of elliptic_axis_gray did not clearly state the impact of gray values on the calculation of the ellipse parameters. The reference has been adapted accordingly.
[*]The reference manual entries for get_operator_info, get_keywords, get_param_info, and get_operator_info mentioned an erroneous encoding for the returned information. This has been fixed.
[*]The documentation of the operator set_dl_model_param for the parameter 'runtime_init' has been adapted to the new 'device' parameter.
[*]The reference manual entry for set_lut has been updated to make it easier and more understandable.
[*]The reference manual entry for set_paint has been revised in order to improve its readability.
[*]The German reference manual entry for triangulate_object_model_3d was missing a description for 'greedy_output_all_points'. This problem has been fixed.
[*]The reference manual entry of image_to_world_image and gen_image_to_world_map did not clearly describe how the parameter 'Scale' was determined. The description was revised accordingly.
MISCELLANEOUS
[*]The footer of the HTML documentation now contains links to our LinkedIn and YouTube channels, which provide further interesting content, like the latest MVTec news or HALCON tutorial videos.
[*]In the technical note 'Surface-Based Matching', the description of the parameter 'num_matches' was misleading regarding the part of the matching process that is affected by the parameter. The description has been adapted accordingly.
INSTALLATION
[*]On macOS 10.15, HALCON could only be installed using a workaround because the HALCON installers were not notarized. This problem has been fixed by notarizing the installers.
[*]HALCON now offers self-contained offline full installers for the standard platforms x64-win64, x64-linux, armv7a-linux, and aarch64-linux using the MVTec Software Manager (SOM).
LICENSING
[*]On some computers, HALCON could not start after 2021-01-01 and showed the error 2021 ("System clock has been set back"). This problem has been fixed.
[*]get_extended_error_info could return an erroneous message about a license error if the first occurring error did not actually include any extended error information. This problem has been fixed.
MISCELLANEOUS
[*]The version of HlibXpi has been upgraded to 1.6.
RELEASE NOTES OF PREVIOUS HALCON VERSIONSFollow this link to read about the changes of previous HALCON versions.
感谢分享~~ 坎坎坷坷
学习一下!
页:
[1]