- Major New Features of
HALCON 6.0
- Detailed Description of Changes in
HALCON 6.0.3
- Detailed Description of Changes in
HALCON 6.0.2
- Detailed Description of Changes in
HALCON 6.0.1
- Detailed Description of
Changes in HALCON 6.0
Licenses
HALCON 6.1 license keys are also valid for HALCON 6.1.1. In
contrast, all HALCON 6.0 license keys must be replaced or
upgraded. Please contact your local distributor.
HALCON Library
HALCON 6.1.1 is fully compatible with HALCON 6.1. Compared to
HALCON 6.0.x, however, many extensions have been introduced.
Thus, the HALCON 6.1.1 libraries are not compatible with HALCON
6.0.x or earlier versions.
HALCON Applications
Applications developed with HALCON 6.1 can be used with HALCON
6.1.1 without further action. C or C++ programs developed with
HALCON 6.0.x must be re-compiled.
The incompatibility with HALCON 6.0.x or earlier versions mainly
concerns the binaries, with only few changes in the operators'
signatures. If you encounter problems during recompiling your
programs, please check the detailed description of changes below
and look up the signatures of the concerned operators in the
reference manual.
Frame Grabber Interfaces
If you developed your own frame grabber interfaces with HALCON
6.1, you can use them with HALCON 6.1.1 without further action.
Frame grabber interfaces developed with HALCON 6.0.x must be
re-generated. Note that you might also need to adapt the code
of your interface due to changes in the HALCON Frame Grabber
Integration Interface. Please refer to the Frame Grabber
Integration Programmer's Manual for more information.
Extension Packages
Extension packages developed with HALCON 6.1 can be used with
HALCON 6.1.1 without further action. Extension packages developed
with HALCON 6.0.x must be re-generated.
ActivVisionTools
In contrast to ActivVisionTools 2.1, which is based on HALCON
6.1, the ActivVisionTools versions 1.0 to 2.0 are all based on
HALCON 6.0 (or HALCON 6.0.1); thus, by installing HALCON 6.1.1
you would disable such an ActivVisionTools installation!
Therefore, the setup program of HALCON 6.1.1 checks whether
there is an ActivVisionTools installation on your computer.
-
If it detects ActivVisionTools 2.1, no further action
is required, as this version is compatible to HALCON 6.1.1.
-
If it detects ActivVisionTools 2.0, it offers to
replace the corresponding OCX with a new one which is
compatible to HALCON 6.1.1. Then, you can use
ActivVisionTools 2.0 without any further action.
Typically, you will choose this option. If not, you can
replace the OCX manually as described in the manual
'Getting Started With HALCON'.
-
In contrast to ActivVisionTools 2.0 and 2.1,
ActivVisionTools 1.0 to 1.3 cannot be used together with
HALCON 6.1.1. If the setup program of HALCON 6.1.1 detects
such an ActivVisionTools version, it therefore warns that by
continuing to install HALCON 6.1.1 you will disable your
ActivVisionTools installation.
If you still want to use your ActivVisionTools installation,
you must also keep your old HALCON 6.0.x installation and
switch back to it as described in the manual 'Getting Started
With HALCON'. Note that if you only want to evaluate HALCON
6.1.1, you can minimize the switching effort by installing
only the demo version.
Enhanced 1D Bar Code Reader
HALCON's 1D Bar Code Reader has been further improved. The list of
supported bar code types has been extended by PharmaCode and Code
93. Furthermore, the bar code reader is now more robust against
defects like markings or spots across the bar code and can handle
very narrow elements or extra elements before and after the code. For
details see here.
Faster Measuring
The preparation of 1D edge measurements has been speeded up by up to
80%. For details see here.
Support of gcc 3.2
Detailed release notes can be obtained for the following topics:
- HDevelop
- HALCON Library
- HALCON/C
- HALCON/C++
- HALCON/COM
- Frame Grabber Interfaces
- Extension Package Interface
- HMatchIt
- Supported Operating Systems
- Miscellaneous
Speedup and Enhancements:
-
HDevelop now allows users to print the current HDevelop program.
It is possible to print the entire program or the currently
selected part.
-
HDevelop's Region Feature Histogram has been renamed to Feature
Histogram and has been extended to handle XLD contours. Besides,
there is now the possibility to change the display range of each
feature.
Both the Feature and the Gray Histogram have been extended to
enable the selection of display colors for the selected
regions/XLDs within the histogram windows.
-
The new internal operator break enables applications to exit for or
while loops.
-
In HDevelop it is now possible to set multiple break points.
Functionality:
-
HDevelop now displays more precise information about XLD objects in
the status bar.
-
The dialog popping up every 100 operators in HDevelop Demo now
allows the user to stop program execution.
-
After pressing Enter in the combo box 'Operator:' of HDevelop's
operator window the input focus now is set on the OK button if
possible.
-
HDevelop functions now return an error message in case an input
control parameter has an undefined value.
-
HDevelop now declares the default window handle as Variant when
exporting to Visual Basic.
-
C and C++ programs exported by HDevelop no longer contain the
operator call 'reset_obj_db'.
-
HDevelop no longer sets the program counter on the next program
line after a stop instruction if that line is a comment. Instead,
the program counter is set on the next line that is not a comment.
-
The HDevelop dialogs 'Pixel Information', 'Zooming', 'Grey
Histogram', 'Feature Histogram', and 'Region Features' no
longer have a maximize box under Windows.
-
HDevelop now recognizes operator names with leading or trailing
blanks.
-
The HDevelop functions pow, fmod and ldexp now accept input
parameters with different numbers of elements.
-
The HDevelop functions asin, acos, log, log10, pow and fmod now
return an error message in case input parameters with wrong values
are passed.
-
The layout of the visualization parameter window has been made more
consistent.
-
The value 'line' of the parameter Mode in the operator
dev_set_paint has been renamed to 'row' for consistency reasons.
The old mode 'line' is still supported for backward compatibility.
The visualization menu and the visualization parameter dialog have
been adapted accordingly.
-
HDevelop no longer activates a deactivated line when pasting the
line.
-
When exiting by calling the internal operator exit, HDevelop now
saves window positions, file history, and options and closes frame
grabbers.
Bug Fixes:
-
C programs exported by HDevelop sometimes missed variable
declarations. This problem has been fixed.
-
An update problem of HDevelop's Feature Histogram has been
fixed.
-
HDevelop sometimes crashed when trying to use control variables as
object variables and vice versa. This problem has been fixed.
-
The internal HDevelop operators dev_update_pc, dev_update_time,
dev_set_window_extents and dev_set_draw crashed when called with
input control parameters of a wrong type. This problem has been
fixed.
-
The HDevelop function deviation returned a wrong result when two
values were passed. This problem has been fixed.
-
On Unix systems HDevelop's 'Find Operator' dialog sometimes left
the HDevelop program window in an inconsistent state. This problem
has been fixed.
-
In HDevelop 'while', 'if' and 'endif' statements with an empty
input tuple were executed misleadingly. This problem has been
fixed.
-
The HDevelop functions ord and ords returned wrong results for
characters with codes greater 127. This problem has been fixed.
-
The HDevelop functions and, or, and xor crashed in case empty
tuples were passed. This problem has been fixed.
-
HDevelop's feature histogram calculated incorrect results for
'width' and 'height' (too small by one pixel).
-
HDevelop's internal function gen_tuple_const crashed when called
with input control parameters of a wrong type. This problem has
been fixed.
-
The selection of default iconic variables in HDevelop's operator
window is now identical in experienced mode and standard mode,
i.e., it takes into account the type of variables.
-
HDevelop showed erroneous behavior when trying to open files that
did not exist or were not HDevelop programs. This problem has been
fixed.
-
It is no longer possible to reduce the height of HDevelop graphics
windows to an extent where the display part of the window becomes
invisible.
Examples:
-
The example programs examples/hdevelop/Applications/OCR/fontt.dev,
examples/hdevelop/Applications/OCR/lettertt.dev, and
examples/hdevelop/Tools/Function/match_function_trans_plot.dev
wrote data into the directory '/tmp'. This caused errors under
Windows systems. This problem has been fixed.
-
Two example HDevelop programs select_shape_xld.dev and
shape_trans_xld.dev showing the use of the operators
select_shape_xld and shape_trans_xld have been added in the
directory examples\hdevelop\XLD\Features.
-
The new example programs
examples/hdevelop/Applications/Barcode/defect_barcode.dev and
examples/hdevelop/Applications/Barcode/element_width.dev show the
use of the extensions of the bar code
reader.
-
In the directory hdevelop\Image\Framegrabber, the new examples
directshow.dev, directshow_2cameras.dev,
directshow_camera_types.dev, directshow_exposure.dev,
directshow_frame_rates.dev, directshow_parameters.dev, and
directshow_simple.dev show how to use the new frame grabber interface for the
Microsoft DirectShow application programming interface.
Further new examples in the directory hdevelop\Image\Framegrabber:
fire-i_simple.dev, fire-i_parameters.dev, fire-i_trigger.dev,
fire-i_2cameras.dev.
Manual:
-
The HDevelop User's Manual is now available in a new edition. The
extensions introduced with HALCON 6.1.1 are reflected in the
manual, which now also describes the new internal operator break,
how to print HDevelop programs, and the extensions of the Gray and
Feature Histogram.
Speedup and Enhancements:
-
HALCON's 1D bar code reader has been improved significantly: First
of all, it now also supports PharmaCode and Code 93 bar
codes. Furthermore, it is now able to read bar codes that contain
some defects, e.g., markings or spots across a part of the bar
code, that prevented the bar code from being read by extracting the
bar and space width from the center of the bar code in previous
HALCON versions. This is achieved by using multiple scan lines
across the bar code. The number of scan lines can be specified
with the new generic parameter 'num_scanlines'. A new example
program examples/hdevelop/Applications/Barcode/defect_barcode.dev
has been added, which shows this new functionality.
The bar code reader is now also able to read bar codes with very
narrow elements (in the order of 1.5 to 2 pixels). Such narrow bar
codes can be read if the image is focused very well. The new
example program
examples/hdevelop/Applications/Barcode/element_width.dev
demonstrates this in detail.
Finally, extra elements before and after the code can now be
handled. Users can specify the maximum number of extra elements
the bar code reader should be able to compensate with a generic
parameter 'max_extra_elements'. Besides, bar codes with consecutive
edges of the same polarity can now also be handled. The edges are
grouped internally by pairing only the strongest of the consecutive
edges that have the same polarity.
The documentation of find_1d_bar_code and get_1d_bar_code has been
adapted accordingly.
-
The operators gen_measure_rectangle2 and gen_measure_arc are now
faster by up to 80%. The new fast mode is selected by setting the
system parameter 'int_zooming' to 'true' (the default setting) with
set_system. If 'int_zooming' is set to 'false', the original
method, which uses floating point calculations, is used to
construct the measure object.
Furthermore, the operator measure_pairs now has a mode in which the
strongest edges of a consecutive sequence of rising and falling
edges are grouped. The new mode is selected by specifying the
following values in the parameter Transition: all_strongest,
positive_strongest, or negative_strongest.
The documentation has been extended accordingly.
-
The operator invert_image is now faster by up to 75% for byte
images and by up to 50% for uint2 images.
-
The operator count_seconds now has a mode that uses performance
counters under Windows. This mode is selected by calling
set_system('clock_mode','performance_counter'). This mode is the
default mode under Windows. On Unix systems, the mode
'performance_counter' is identical to the mode 'processor_time'
because no performance counters are available on Unix systems.
Because of the increased resolution that comes with using
performance counters, HDevelop now displays four digits for the
execution time in the status bar under Windows. Since the
resolution of the system clock under Windows is 10ms, the last two
digits of the execution time will be zero if 'processor_time' or
'elapsed_time' is selected. The documentation of set_system and
get_system has been extended by a description of the new clock
mode.
-
The operator edges_sub_pix has been speeded up by up to 15% if
Filter = 'canny'. Furthermore, it now has a mode in which the
junctions can be extracted more completely. This mode has a
similar effect as the mode CompleteJunctions = 'true' in
lines_gauss. The new mode is selected by appending '_junctions' to
the parameter Filter of edges_sub_pix. The documentation has been
adapted accordingly.
-
The models created by create_shape_model and
create_scaled_shape_model now use less memory if multiple models
are generated.
-
HALCON now supports the reading and writing of PNG images in the
operators read_image and write_image, respectively. The
documentation has been extended accordingly.
-
The operators send_image, send_region, send_xld, and send_tuple now
also support the socket timeout mechanism. The documentation of
set_socket_timeout has been extended to reflect this change. It is
recommended to read the revised documentation of set_socket_timeout
for users who use the socket timeout mechanism.
-
The operator select_contours_xld now has a mode 'open' in which
open contours can be selected.
-
The operators convol_image and gen_filter_mask now allow filter
masks to be specified as a tuple of integer numbers in addition to
the existing mode of reading filter masks from file. The format of
the tuple is identical to the format in the filter mask file. The
parameter FileName has been renamed to FilterMask. The
documentation has been adapted accordingly.
Modified Operators:
-
The operator paint_region now supports multi-channel images. To
enable users to specify a color for each channel, the parameter
GrayValue now also accepts tuples as input. The documentation has
been extended accordingly.
-
The operator lines_facet now sets the contour attributes 'angle'
and 'response'. The documentation has been extended accordingly.
-
'string' is now the default type for parameter T1 in operator
tuple_strlen.
-
The operator add_noise_white now supports uint2 images. The
documentation has been extended accordingly.
-
The operators gen_gauss_pyramid, zoom_image_size, and
zoom_image_factor now support real images. The documentation has
been extended accordingly.
-
set_system("flush_graphic","false") now also works for images
(disp_image, disp_obj, disp_color) under Windows.
-
Under Windows, the drawing of one pixel wide runs now is up to
three times faster.
-
HALCON tuple operators now return an error message in case an input
control parameter has an undefined value.
-
The bar code names in gen_1d_bar_code_descr now have consistent
spellings: code 39, 2/5 industrial, and 2/5 interleaved have been
renamed to Code 39, 2/5 Industrial, and 2/5 Interleaved. The old
names are still supported for backward compatibility.
-
The value 'line' of the Mode parameter in the operator set_paint
has been renamed to 'row' for consistency reasons. The old value
of 'line' is still supported for backward compatibility.
Furthermore, the parameter Mode now has a list of suggested values.
Bug Fixes:
-
The operator tile_images crashed if NumColumns was set to 0. Since
this parameter value is illegal, an error message is now returned.
-
The operator read_region crashed when reading non-binary Tiff
images. This problem has been fixed.
-
The operator read_region did not return the correct error 5567 when
reading non-binary BMP images. Instead often the error 3510 was
returned. This problem has been fixed.
-
The operator diameter_region did not compute the diameter correctly
for regions with 0 or 1 runs. This problem has been fixed.
-
The operator find_marks_and_pose sometimes returned the error 8417
(Fitting of calibration target failed) although the image quality
was good and the calibration target was planar enough that
find_marks_and_pose should have been able to find the correct pose
estimate. This problem has been fixed.
-
The operators hough_lines_dir, find_shape_model, and dual_rank
sometimes returned the internal error 3513 ('Number of chords too
big for num_max'); the operator lines_gauss sometimes returned this
error if the domain of the image was very small. These problems
have been fixed.
-
The operator select_contours_xld rejected contours from the output
if the selection feature ('contour_length', 'maximum_extent',
'curvature') had exactly the value of one of the thresholds. This
problem has been fixed. Now the operator complies with the
standard HALCON behavior where the thresholds belong to the
selection interval.
-
The operator read_ocr_trainf sometimes crashed under Linux 2.2.
This problem has been fixed.
-
The operators do_ocr_single and do_ocr_multi in rare cases
incorrectly returned an error. The error was caused if the input
parameter Character was 1 pixel wide and was situated on the image
border. This problem has been fixed.
-
The operator select_gray truncated the input parameters 'Min' and
'Max' when using the features 'min' and 'max' in conjunction with
integer image types. This problem has been fixed.
-
The operators edges_sub_pix and lines_gauss sometimes created angle
attributes for the extracted contours that pointed to the left side
of the contour, whereas they should always point to the right side
of the contour as the contour is traversed from start to end. This
problem has been fixed.
-
The operator sp_distribution sometimes did not work when passing
integer parameters in the parameter PercentPepper. This problem
has been fixed.
-
The operator add_noise_white did not work correctly with int2
images. Negative output values were clipped to 0. This problem
has been fixed.
-
The operator gen_gauss_pyramid sometimes returned the error 3107
(Scaling factor = 0.0 (IPImageScale)). This could happen if the
Scale was smaller than 0.5. This problem has been fixed.
-
The operator exhaustive_match_mg sometimes returned the error 6005
(Tmp-memory management: Null pointer while freeing) if Level = 0.
This problem has been fixed.
-
If a tuple of more that 2048 elements was passed to disp_line, only
the first 2048 lines were displayed correctly under Windows. This
problem has been fixed.
-
The operator lut_trans did not work correctly for uint2 images if
LUTs consisting of floating point numbers were passed. This
problem has been fixed.
-
The operator tuple_deviation returned a wrong result when two
values were passed. This problem has been fixed.
-
The operator create_shape_model sometimes created float division by
zero exceptions under Windows. This only happened if the floating
point processor control word was configured using special settings.
This problem has been fixed.
-
If a region tuple was read with read_region, sometimes the region
features of all regions were identical to the region features of
the first region of the tuple. This problem has been fixed.
-
The operators erosion_rectangle1 and opening_rectangle1 sometimes
returned the error 3510 (Exceeding the maximum number of run
lengths while automatical expansion). This problem has been fixed.
-
The HALCON operators tuple_ord and tuple_ords returned wrong
results for characters with codes greater 127. Furthermore,
tuple_ords returned wrong results in case the input tuple contained
integers. These problems have been fixed.
-
The operator write_string did not observe the selected window part
(set_part) for graphics windows under Unix. This problem has been
fixed.
-
The operator gen_region_{contour,polygon}_xld returned an error
message of still allocated space. This problem has been fixed.
-
The operator smallest_rectangle2_xld sometimes calculated wrong
results. This problem has been fixed.
-
The operator smallest_circle_xld sometimes took a lot of time
compared to smallest_circle. This problem has been fixed.
-
The operator shape_trans_xld did not eliminate collinear points in
the convex hull if 'convex' was chosen for the input control
parameter 'Type'. This problem has been fixed.
-
The HALCON tuple operators tuple_lsh, tuple_rsh, tuple_band,
tuple_bor, tuple_bxor, tuple_bnot, tuple_and, tuple_or, tuple_xor,
and tuple_not erroneously returned with an error in case one or
both input parameters were empty tuples. This problem has been
fixed.
-
The operator shape_trans used the wrong center of gravity for Type
= 'inner_center'. The center of gravity of the skeleton was used
instead of the center of gravity of the input region. This problem
has been fixed.
-
The operator find_shape_model (and all other variants thereof)
sometimes did not discard overlapping model instances. This
happened for very elongated models. This problem has been fixed.
-
The operator get_region_convex sometimes missed points on the
convex hull. Because of this, shape_trans (..., 'convex') also
sometimes missed points on the convex hull. These problems have
been fixed.
-
Parallel HALCON returned a mutex locking error in rare cases. This
problem has been fixed.
-
The operators exhaustive_match and exhaustive_match_mg sometimes
crashed, independent of the correlation mode. This problem has been
fixed.
-
The operators expand_gray and expand_gray_ref no longer crash if an
input region is larger than the image or the region lies outside of
the image domain.
-
The operator close_edges returned wrong results if 'init_new_image'
was set to 'false' with the operator set_system.
-
The operator affine_trans_image produced incorrect results in a
half pixel wide strip that corresponds to the top and left border
of the original image if 'int_zooming' was set to 'false' with
set_system and if Interpolation != 'none'. This problem has been
fixed.
-
The parameters Width and Height in rank_region were handled
incorrectly internally. The parameter Width was treated as the
height of the mask and the parameter Height as the width of the
mask. This problem has been fixed.
-
The operator regiongrowing_n sometimes crashed. This problem has
been fixed.
-
The operator get_string_extents now returns the correct values.
-
The operator get_channel_info did not work for uint2 images. This
problem has been fixed.
-
The operator opening_circle returned the error 1301 (Wrong value of
control parameter: 1) if the radius was set to 0.5. This problem
has been fixed.
-
The operator select_shape_xld selected wrong contours when using
the feature 'contlength' in the case of a non-closed input
contour. Furthermore, the operator crashed when the input XLDs were
polygons and the features 'rect2_len1', 'rect2_len2', or
'rect2_phi' were used. These problems have been fixed.
-
Changing the kind of HALCON's temporary memory management with
set_system('alloctmp_single_block', ...) in between operator calls
could cause a memory leak. This problem has been fixed.
-
A memory leak was caused because close_measure did not free memory
allocated by set_fuzzy_measure and set_fuzzy_measure_norm_pair
correctly. This problem has been fixed.
-
The operator fill_up_shape did not use the correct neighborhood for
the holes. If 8-neighborhood was used for the foreground,
fill_up_shape also used 8-neighborhood for the background (holes),
whereas 4-neighborhood should have been used. An analogous problem
existed if 4-neighborhood was used for the foreground. This
problem has been fixed.
-
The operator create_template sometimes crashed with values
'gradient' or 'sobel' for parameter GrayValues. This problem has
been fixed.
-
The operator gray_projections crashed if the smallest enclosing
rectangle of the input region extended beyond the image borders.
This problem has been fixed.
-
The operators mean_n (for two channel images) and median_separate
could produce incorrect results for int4 images. This problem has
been fixed.
-
The operator get_2d_bar_code sometimes caused a memory leak. This
problem has been fixed.
-
The parity check of Codabar bar codes in decode_1d_bar_code
returned incorrect results. This problem has been fixed.
-
The operator find_2d_bar_code crashed very rarely if it was used on
big images with many details, possible 2d bar codes, or noise, and
if the generic parameters switched off some of the region features.
This problem has been fixed.
-
In the operator gen_checker_region, the parameters WidthPattern and
HeightPattern were interchanged. The problem has been fixed.
Manual:
-
The manual "Getting Started with HALCON" is available in a new
edition; it has been clarified and extended at many points. For
example, it now clearly states that the license file MUST be called
license.dat and describes how to upgrade a license. Furthermore,
the section regarding floating licenses has been extended and the
troubleshooting for problems during uninstallation now
differentiates between HALCON 6.0 and 6.1. Finally, the manual was
adapted to the changes regarding the
supported operating systems.
-
The documentation of the operator difference no longer contains
obsolete information.
-
The description of comparable filter widths in edges_image and
edges_sub_pix has been clarified. It has been made obvious that
the unbiased version of the filters uses the same smoothing
parameter as the biased version.
-
The documentation of edges_sub_pix now describes that the attribute
'edge_direction' is set. Furthermore, the description of the
attribute 'angle' has been made more precise.
-
The example in the documentation of power_ln did not use the
operator power_ln. This problem has been fixed.
-
The documentation of the mode 'closed' in select_contours_xld
incorrectly stated that Max2 is the parameter that is used to
select the closed contours. The correct parameter is Max1. This
problem has been fixed.
-
The HALCON documentation now consistently uses the expression
'neighborhood' to describe the pixel neighborhood. Previously,
sometimes 'connectivity' was also used.
-
The features 'max_diameter' and 'orientation' have been added in
the documentation of select_shape_xld.
-
The examples in the documentation of open_window and set_window_dc
contained obsolete calls. The parameter 'pixel_ratio' is no longer
supported by set_system. These calls have been removed from the
example programs.
-
An error in the documentation about the range of indices that
get_region_index returns has been corrected.
-
The documentation of the operator tuple_number (and of the HDevelop
function number) now describes that strings starting with '0x' and
'0' are interpreted as hexadecimal and octal numbers, respectively.
-
The documentation of the operator change_format now correctly
describes the domain of the output image.
-
The documentation of the operators affine_trans_image and
affine_trans_image_size now notes that the output image is always
clipped to positive coordinates.
Manual:
Examples:
-
Some example workspaces for Visual Studio used relative paths.
These paths have been changed to be relative to
HALCONROOT. Furthermore, some example workspaces contained wrong
paths. This problem has been fixed.
Programming:
- The include file HOperator.h is now included by HalconCpp.h.
Bug Fixes:
-
The HALCON/C++ class HOperator sometimes caused errors in the
called operators. This problem has been fixed.
-
The destructors of the classes HContour3D, HContourArray2D,
HContourArray3D, HPolygonArray2D and HPolygonArray3D crashed if an
empty object was created via the copy constructor. This problem has
been fixed.
-
The member Deviation of class HTuple returned a wrong result when
two values were passed. This problem has been fixed.
-
The HALCON/C++ member function HTuple::Number() returned an error
in case the input parameter was a string that cannot be converted
to a number. This problem has been fixed.
-
The HALCON/C++ member functions HTuple::Ord() and HTuple::Ords()
returned wrong results for characters with codes greater 127. This
problem has been fixed.
Manual:
-
The HALCON/C++ User's Manual is now available in a new
edition. An error in the description of object-oriented error
handling was corrected. Besides, the manual now warns that the
user must allocate memory for output string parameters
him/herself. Finally, the manual was adapted to the changes regarding the supported
operating systems.
-
Static member functions are now documented correctly in the
HALCON/C++ Reference Manual.
Examples:
-
The MFC and Motif example programs (examples/mfc/Matching,
examples/mfc/MatchingExtWin, and examples/motif/Matching) used the
undocumented call set_system("border_width",...). They now use the
preferred and documented call set_window_attr("border_width",...).
-
Several C++ example programs contained wrong calls to the HWindow
constructor. This problem has been fixed.
-
Some example workspaces for Visual Studio used relative paths.
These paths have been changed to be relative to HALCONROOT.
Bug Fixes:
-
The COM interface of standard halcon (halconx.dll) was not
threadsafe. This problem has been fixed.
Manual:
-
The HALCON/COM User's Manual is now available in a new edition. It
clarifies the point that only one \Halcon language interface can be
used in an application. Furthermore, it briefly lists the example
projects for Visual Basic.NET, C#, Delphi, and Visual C++.
Examples:
-
A memory leak in the example program examples/mfc/MatchingCOM has
been fixed.
-
An example program that shows how to use HALCON in Visual Basic.NET
has been added. The example is located in the directory
examples/vb.net/Matching.
-
An example program that shows how to use HALCON in C# has been
added. The example is located in the directory
examples/c#/Matching.
- The latest information about new extensions and newly supported
boards can be found on MVTec's web
server.
New Frame Grabber Interfaces:
-
HALCON now also includes an interface to the DirectShow application programming interface from Microsoft.
-
The existing HALCON PicPort interface has been extended to access also the PicProdigy frame
grabber boards from Leutron.
Modified Frame Grabber Interfaces:
-
The following HALCON frame grabber interfaces have been revised:
BitFlow,
File,
Fire-i,
FirePackage,
INSPECTA,
MultiCam,
PicPort.
Please refer to the corresponding documentation for more
information, especially whether a new revision of the corresponding
device driver is required.
Manual:
-
Please note that in the release notes for HALCON 6.1 a note
regarding the new edition of the Frame Grabber Integration
Programmer's Manual was accidentially left out and has now been
added here.
Manual:
Functionality:
-
HMatchIt now limits the manually selectable angle and scale step
sizes to the range of 1/3 to 3 times the optimum values that are
selected when the corresponding Autoselect buttons are clicked.
Linux:
HALCON 6.1 has been compiled both for gcc 2.95 and gcc 3.2 (Linux
2.2, glibc-2.1.x, optimized for Intel Pentium or compatible
processors). To use these versions, please set the environment
variable ARCHITECTURE to i586-linux2.2 or i586-linux2.2-gcc32,
respectively, and update the environment variables PATH and
LD_LIBRARY_PATH accordingly.
Installation:
-
The default working directory of HDevelop, Parallel HDevelop, and
HDevelop Demo is set to %HALCONROOT%/examples/hdevelop instead of
%HALCONROOT%.
-
The HALCON setup now also installs the system file COMDLG32.OCX,
which is necessary for running HMatchIt.
-
At the beginning of the installation on Unix computers the MVTec
license agreement is shown and the user is asked to accept it. The
corresponding file 'eula.txt' is located in the root directory on
the HALCON CD and will be installed into the %HALCONROOT%
directory.