 |
|
|
Release Notes for HALCON 7.0.1
|
 |
This document provides the release notes for MVTec HALCON 7.0.1, as released
in July 2004. HALCON 7.0.1 is primarily a maintenance release that
fixes all known bugs in HALCON 7.0; besides, it provides added
functionality and speedups.
Overview
This document contains the following information:
-
Compatibility
-
Detailed Description of Changes in HALCON
7.0.1
-
Major New Features
of HALCON 7.0
-
Detailed Description
of Changes in HALCON 7.0
-
Major New Features of
HALCON 6.1
-
Detailed Description of Changes
in HALCON 6.1.2
-
Detailed Description of Changes
in HALCON 6.1.1
-
Detailed Description
of Changes in HALCON 6.1
Licenses
HALCON 7.0 license keys are also valid for HALCON 7.0.1. In
contrast, all HALCON 6.1 licenses must be replaced or upgraded.
Please contact your local distributor.
HALCON Library
HALCON 7.0.1 is fully compatible with HALCON 7.0. Compared to
HALCON 6.1, many extensions have been introduced. Thus, the HALCON
7.0.1 libraries are not compatible with HALCON 6.1 or earlier
versions.
HALCON Applications
C or C++ programs developed with HALCON 6.1.x must be re-compiled.
The incompatibility with HALCON 6.1 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 7.0,
you can use them with HALCON 7.0.1 without further action. Frame
grabber interfaces developed with HALCON 6.1.x are binary
compatible with HALCON 7.0.1, interfaces developed with older
versions must be re-generated.
Please make sure that you no longer use the old PicPort,
PicPortPro or PicProdigy interfaces that are part of older
Leutron LV-SDS releases since these interfaces are not fully
compatible with HALCON 7.0.1. Please use the
new Leutron interfaces instead.
-
Extension Packages
Extension packages developed with HALCON 7.0 can be used with
HALCON 7.0.1 without further action. Extension packages developed
with HALCON 6.1.x must be re-generated.
-
ActivVisionTools
Since all ActivVisionTools versions are based on HALCON 6.1.1 or
below, none of them can be used directly with HALCON 7.0.1. By
installing HALCON 7.0.1, you would thus disable such an
ActivVisionTools installation. Therefore, the setup program of HALCON
7.0.1 checks whether there is an ActivVisionTools installation on
your computer.
Detailed release notes can be obtained for the following topics:
-
HDevelop
-
HALCON Library
-
HALCON/C++
-
HALCON/COM
-
Frame Grabber Interfaces
-
Extension Package Interface
-
HMatchIt
-
Supported Platforms
-
Miscellaneous
Speedup and Enhancements:
-
HDevelop now has a redo functionality corresponding to its undo
functionality.
Functionality:
-
HDevelop now has an option 'Sort Variables', which can be used to
sort the iconic and control variables in the variable window by
name.
-
HDevelop's Open Example dialog now is resizeable. Besides,
various minor layout changes have been made.
-
It is now possible to rename procedures in HDevelop.
-
HDevelop now displays the message 'Loading...' in the status bar
during the loading of a program. Furthermore, the cursor is
changed to run mode during loading of programs and operations
like undo or redo.
-
When execution is not allowed in HDevelop the buttons 'Apply' and
'Ok' in the operator dialog are now disabled.
-
When dismissing the current program, if all changes since the
last program save have been revoked by undo and/or redo, HDevelop
no longer prompts the user to save or dismiss the current
program.
-
HDevelop now saves the last image directory from which an image
has been loaded via the menu item 'File → Read
Image...'. When restarting HDevelop, this directory is added to
the list of image directory paths.
-
In HDevelop's gray histogram the label on the dashed yellow line
now indicates the number of pixels from the peak value to 0
(relative or absolute).
-
HDevelop's variable inspector dialogs are now updated such
that the previously first item in the dialog's listbox remains
the first item in the listbox, if possible.
-
After adding program lines in the current procedure body,
HDevelop's program window now scrolls to a position so that the
insert cursor becomes visible. This applies for the pasting of
program lines and for the adding of program lines via the menu
item 'File → Insert...'.
Examples:
-
The "Application Note on 3D Machine Vision"
now provides the new example programs
grid_rectification_ruled_surface.dev and
grid_rectification_arbitrary_distortion.dev in the directory
examples/application_guide/3d_machine_vision/hdevelop. The
latter example uses the new example images in the directory
images/3d_machine_vision/grid_rectification.
-
In the directory hdevelop\Image\Framegrabber, the new examples
baumerfcam.dev, baumerfcam_2cameras.dev, baumerfcam_crop.dev,
baumerfcam_formats.dev, baumerfcam_lut.dev,
baumerfcam_parameters.dev, baumerfcam_simple.dev, and
baumerfcam_trigger.dev show how to use the new interface for the Baumer Optronic FCAM
cameras .
The new examples meteor2.dev, meteor2_1394_parameters.dev,
meteor2_2ports.dev, meteor2_simple.dev, and meteor2_trigger.dev
show how to use the new interface for
the Matrox Meteor-II frame grabber boards.
The new examples ueye.dev, ueye_2cameras.dev, ueye_crop.dev,
ueye_parameters.dev, ueye_simple.dev, and ueye_trigger.dev
show how to use the new interface for the IDS uEye USB 2.0
cameras.
Further new examples in the directory
hdevelop\Image\Framegrabber: multicam_split_cable.dev and
multicam_stereo.dev.
Bug Fixes:
-
HDevelop did not free all shared memory under UNIX. This problem
has been fixed.
-
HDevelop's gray histogram now displays the correct channel in the
graphics window.
-
Some HALCON operators requiring user interaction were slow when
executed inside HDevelop. This problem has been fixed.
-
Creating and updating HDevelop's variable inspector dialogs was
slow and caused a memory leak. These problems have been fixed.
-
HDevelop's internal operator dev_clear_obj caused a memory
leak. This problem has been fixed.
-
HDevelop crashed if more than 1000 lines were selected in the
program window. This problem has been fixed.
-
HDevelop crashed when trying to create a procedure from a
selection of lines in the program window and the number of
estimated procedure parameters exceeded the maximum allowed
number of 100 parameters per parameter class. This problem has
been fixed.
-
HDevelop crashed when trying to enter a program line of which the
textual representation in the program window is greater than 1024
characters. This problem has been fixed.
-
HDevelop sometimes did not update the name in the procedure
combobox correctly. This problem has been fixed.
-
HDevelop in rare cases crashed after creating a new program.
This problem has been fixed.
-
Under Tru64 UNIX HDevelop crashed when trying to load images via
the menu item 'File → Read Image...'. This
problem has been fixed.
-
Under Windows HDevelop crashed when failing to open a graphics
window. This problem has been fixed.
-
HDevelop's mechanism for replacing all variables returned wrong
results in rare cases. This problem has been fixed.
-
HDevelop did not check the consistency of variable names when
inserting code from other programs. This could lead to programs
containing control and iconic variables with the same name. This
problem has been fixed.
-
In some cases, HDevelop did not update its undo functionality
correctly after adding an operator line to the current procedure
body. This problem has been fixed.
-
HDevelop sometimes estimated procedure parameters incorrectly
when creating a procedure from a selection of program lines with
the option 'Parameters' being set to 'All In All Out'. This
problem has been fixed.
-
HDevelop in rare cases did not update procedure parameter
variables correctly. This problem has been fixed.
-
HDevelop remained in an inconsistent state after saving the
current procedure. This problem has been fixed.
-
HDevelop's procedure interface dialog no longer contains any GUI
elements enabling the user to modify a procedure interface if
modification of the interface is not allowed.
-
The HDevelop internal functions number and is_number in some
cases returned wrong results if the input parameter
contained strings. This problem has been fixed.
-
The HDevelop operator / now only returns an error if the
denominator is exactly 0.
-
HDevelop's gray and feature histogram did not display selected
regions correctly if only regions were displayed in the graphics
window. Furthermore, the feature histogram did not display the
selected regions correctly if a second graphics window was used
for the selected regions. These problems have been fixed.
-
HDevelop's feature histogram crashed if only regions were
displayed in the graphics window and the actual feature was a
gray value feature. This problem has been fixed.
-
HDevelop sometimes crashed when trying to display a tuple of
objects of different kind or size in the active graphics window.
This problem has been fixed.
-
Using for-loops in recursive HDevelop procedures could cause
erroneous behavior. This problem has been fixed.
-
HDevelop crashed when trying to invoke the popup menu in a
graphics window while the current procedure was not the displayed
procedure. This problem has been fixed.
-
HDevelop erroneously activated / deactivated procedure call lines
after the modification of the interface of the procedure. This
problem has been fixed.
-
HDevelop erroneously activated / deactivated program lines after
replacing variables using the 'Replace Variables' dialog. This
problem has been fixed.
Manual:
-
The "HDevelop User's Manual" is available in a new edition. It
now explains the new 'Redo' feature and a new option that allows
to sort variables by name. Also, slight changes to the 'Gray
Histogram' are documented.
-
The new subdirectory doc/html/tutorials now contains two
tutorials. They show how to load and run example programs in
HDevelop and how to create your own HDevelop programs.
Miscellaneous:
-
HDevelop no longer uses the obsolete library ctl3d32.dll under
Windows.
Speedup and Enhancements:
-
The optimization algorithm of binocular_calibration has been
improved. The estimated parameters are now even more accurate
with respect to 3D reconstruction.
-
The operator find_data_code_2d is now able to read ECC200 Data
Matrix symbols with perspective distortions up to a certain
extent.
Modified Operators:
-
The operators create_shape_model and create_scaled_shape_model
now do not return the error 8510 (Number of shape model points
too small) if more than four model points exist. This error
occurred if the number of model points in the original resolution
was between four and nine and the number of pyramid levels was
determined automatically. Because in the documentation of
create_shape_model the minimum number of model points is
specified to be four, no error message is returned any longer.
-
The operator overpaint_region can now handle multiple regions and
multi-channel images, analogously to the operator paint_region.
-
The operators rank_image and dual_rank now allow mask sizes up to
half the image width or height, whichever is smaller.
-
The operator read_image is now able to read top-down BMP files,
in which the image rows are stored from top to bottom and not in
the conventional Windows order from bottom to top.
-
The two color spaces isfeuklid and isfdiff are no longer
officially supported by trans_from_rgb and have been removed from
the documentation. For backward compatibility, they can still be
used in trans_from_rgb. However, they should be replaced by
other color space transformations, e.g., hsv or hsi.
-
The operator write_tuple has been extended to write empty tuples.
Bug Fixes:
-
The operators approx_chain and approx_chain_simple crashed in rare
cases. This problem has been fixed.
-
The operator best_match_rot_mg sometimes crashed if the template
appeared close to the border of the input image and SubPixel was
set to 'true'. This problem has been fixed.
-
In rare cases, the operator binocular_calibration returned
undefined float values in the parameter RelPose. This problem
has been fixed.
-
The operator camera_calibration crashed under Tru64 UNIX machines
if the pose and world points were degenerate, i.e., some world
points lie in the focal plane after the transformation to the
camera coordinate system effected by the pose, and hence cannot
be projected to the image plane. camera_calibration now returns
an error in such cases.
-
The operator change_radial_distortion_contours_xld sometimes
created contours with invalid coordinates. This may have
happened if contours with exceedingly large coordinates were used
as input. Such points sometimes may not be undistorted
(depending on the value of the radial distortion coefficient
kappa, which must be positive for this to occur).
change_radial_distortion_contours_xld now returns the error 8407
(Error in inverse projection) in this case.
-
There was a memory leak in the operator connect_grid_points.
This problem has been fixed.
-
The operators convol_gabor and convol_fft crashed if the
Fourier-transformed input image and the Gabor filter or filter
image, respectively, were of different size. Analogously, the
operator correlation_fft crashed if the two Fourier-transformed
input images were of different size. Now, an appropriate error
message is returned in these cases.
-
The operator convol_image applied to int2 images returned correct
results only for positive filter responses. In contrast, negative
filter responses differed from the correct value by
1. Furthermore, the operator sometimes returned wrong results
under Tru64 UNIX. These problems have been fixed.
-
The operator create_scaled_model in rare cases created a floating
point exception if the floating point coprocessor was configured
in a non-standard manner. This problem has been fixed.
-
The operator determine_shape_model_params ignored the value
passed in AngleExtent. Instead, the value passed in ScaleMin was
used as the value for the angle extent. Besides, if
determine_shape_model_params was used to determine the number of
pyramid levels automatically, then sometimes the automatically
determined number differed from the number of pyramid levels that
was automatically determined when creating the shape model with
create_shape_model or create_scaled_shape_model. Furthermore,
determine_shape_model_params did not determine the number of
pyramid levels automatically if NumLevels was set to a value that
was not 0. As described in the documentation of
determine_shape_model_params, the computed number of pyramid
levels should be at most NumLevels. Consequently, the number of
pyramid levels should be determined automatically and compared
with the number passed in NumLevels. Finally, the minimum of both
values should be returned. Instead, the number passed in
NumLevels was returned. These problems have been fixed.
-
The operator disp_cross displayed the bars of the crosses in
multiple colors if set_colored was used. This problem has been
fixed.
-
The operator dyn_threshold sometimes produced erroneous results
for real images for Mode = 'equal' and Mode = 'not_equal'. This
problem has been fixed.
-
The operator edges_color_sub_pix crashed if the input image had
an unsupported image type (i.e., a pixel type != byte and !=
uint2). Now, an appropriate error message is returned.
-
The operator edges_image did incorrect gray value rounding for
some values of parameter Alpha and with the value 'canny'
for the parameter Filter. This problem has been fixed. In this
context, info_edges now returns slightly corrected coefficients
with value 'canny' for parameter Filter.
-
The operator edges_sub_pix sometimes missed edges that are within
the hysteresis thresholds. This happened particularly frequently
if the parameter Filter was set to 'sobel'. This problem has been
fixed.
-
The operator find_marks_and_pose failed if the system variable
"neighborhood" was set to 4. In this case, the error 8404
(Minimum threshold while searching for ellipses) was returned.
This problem has been fixed.
-
The operators find_shape_model, find_shape_models,
find_scaled_shape_model, find_scaled_shape_models, and
find_component_model in rare cases returned erroneous poses if
the subpixel accuracy was set to 'least_squares',
'least_squares_high', or 'least_squares_very_high'. This
typically happened when the shape model contained one degree of
freedom that cannot be determined from the model, e.g., scale was
allowed in a model that solely consists of two straight edges.
Furthermore, the operators sometimes returned poses outside the
given angle and scale range. This happened if the angle/scale
range that was specified during model creation and the
angle/scale range that was specified during the search did not
overlap. Besides, the operator find_scaled_shape_model in rare
cases returned erroneous scales if the parameter SubPix was set
to 'interpolation', 'least_squares', 'least_squares_high', or
'least_squares_very_high'. These problems have been fixed.
-
The operators fit_circle_contour_xld, fit_ellipse_contour_xld,
and fit_line_contour_xld sometimes crashed. This happened if the
parameter Algorithm was set to 'atukey' (fit_circle_contour_xld),
'ftukey' or 'fptukey' (fit_ellipse_contour_xld), or 'tukey' or
'drop' (fit_line_contour_xld) and the parameter ClippingFactor
was set to a small value. In this case, all points were
classified as outliers. This problem has been fixed. Now, an
appropriate error message is returned if all points are
classified as outliers.
-
The operators fit_surface_first_order and
fit_surface_second_order sometimes returned the error 6002
(Memory partition on heap has been overwritten). Furthermore, the
operators could crash when using Parallel HALCON. These problems
have been fixed.
-
The operators fuzzy_measure_pos, fuzzy_measure_pairs, and
fuzzy_measure_pairing sometimes crashed if no fuzzy function was
set. This problem has been fixed.
-
The operator gen_circle sometimes returned an erroneous region at
the image border. This happened if the row or the column
coordinate of any pixel within the circle region was -0.5. As a
consequence, the row within the circle region with row coordinate
0 was missing and the column with column coordinate 0 was
duplicated. This error has been fixed.
-
The operator gen_contour_polygon_rounded_xld sometimes returned
corrupted contours under Tru64 UNIX. This problem
has been fixed.
-
The operators gen_image_to_world_plane_map and
image_to_world_plane now also work with telecentric lenses. Up to
now, only pinhole cameras were supported. When a telecentric
lens was used the error 8406 (Error in projection: s_x = 0 or
s_y = 0 or z = 0) was returned.
-
The operator gen_parallel_contour_xld led to the error 6002
(Memory partition on heap has been overwritten) when computing
the parallel contour of a contour that has global attributes. The
error occurred when trying to clear the contour that is returned
by gen_parallel_contour_xld, e.g., by resetting the HDevelop
program (F2) or by calling dev_clear_obj in HDevelop. This
problem has been fixed.
-
The operator get_pair_funct_1d erroneously accepted float values
as indices. Now, an error message is returned.
-
Gray morphology operations with structuring elements
(i.e. gray_dilation, gray_erosion, gray_closing, gray_opening,
gray_bothat, gray_tophat) sometimes overwrote memory
partitions. This problem has been fixed.
-
The operators gray_closing_shape, gray_opening_shape,
gray_erosion_shape, and gray_dilation_shape sometimes returned
the error 3513 (Internal error: number of chords too big for
num_max). This problem has been fixed.
-
The operator gray_projections returned wrong horizontal
projection values for image rows containing more than one run
of the input region. Furthermore, the operator sometimes returned
wrong horizontal and vertical projection values. These problems
have been fixed.
-
There was an inaccuracy with the circles returned by the operator
inner_circle: The radius of the resulting circle was slightly (0.28
to 1 pixel) too small and the position was sometimes moved by up
to 2 pixels. Now the operator inner_circle returns the correct
circle parameters and the semantics is unambiguous: The returned
circle is always the biggest circle region (that can be created
by gen_circle) that completely fits into the input region. The
documentation was adapted accordingly.
-
The operator mean_image in some cases returned wrong gray values
at the image border when using a reduced image domain of
disconnected regions. This problem has been fixed. Besides, when
passing mask sizes of 1, mean_image automatically used mask sizes
of 3. mean_image now uses mask sizes of 1 instead. The
documentation has been adapted accordingly.
-
In rare cases, the operator paint_xld caused a floating exception
under Tru64 UNIX. Furthermore, the operator sometimes returned a
wrong border interpolation value if a contour point fell exactly
on the row and column border of a pixel. These problems have been
fixed.
-
The operators projective_trans_image rounded the gray values for
real images, whereas it should have returned the full floating
point precision. This problem has been fixed.
-
The operator proj_match_points_ransac no longer returns duplicate
matches.
-
The operator read_image could not read 16-bit BMP files with an
odd width correctly. The padding was not accounted for
correctly. This problem has been fixed.
-
The operator segment_contours_xld sometimes crashed under Tru64
UNIX. This happened if the polygonal approximation, which is
performed by segment_contours_xld, lead to closed polygons with
only 2 lines. This problem has been fixed.
-
Previous releases of the HALCON library included so-called simple
versions of the operators set_fuzzy_measure and
set_fuzzy_measure_norm_pair, i.e., versions that could be called
with single-valued parameters. These versions did not work.
Therefore they are not supported any more. Note that this
modification means that the HALCON/C++
interface of HALCON 7.0.1 is not completely binary compatible
with HALCON 7.0.
-
The operator slide_image now works correctly under Windows.
-
The operators smallest_circle and smallest_circle_xld sometimes
returned erroneous values for Row, Column, and Radius. The
corresponding circle was not enclosing the region/xld
completely. Accordingly, sometimes the result obtained from
select_shape, select_shape_xld, and fill_up_shape when setting
Features to 'outer_radius' and the result obtained from
shape_trans and shape_trans_xld when setting Type to
'outer_circle' was erroneous. This problem has been fixed.
-
The operators smooth_image and diff_of_gauss sometimes returned
an image with some incorrectly rounded gray values, which might
also have caused a gray value overflow. With smooth_image this
problem occurs only with value 'gauss' for the parameter
Filter. This problem has been fixed. In this context, info_smooth
now returns slightly corrected coefficients with value 'gauss'
for parameter Filter.
-
The operator test_xld_point returned wrong results on 64 bit
systems. This problem has been fixed.
-
The operator train_model_components failed if a tolerance
(different from -1) was passed in SearchColumnTol. In this case,
the initial components were not found in any of the training
images. Consequently, all initial components were falsely merged
to one rigid model component. This problem has been fixed.
-
The operator transform_funct_1d now returns an error in case that
the transformation parameter a3 of the operator
transform_funct_1d is set to zero. The reference manual has been
extended accordingly.
-
When transforming color images from RGB to some color spaces and
then back to RGB the resulting images were not identical. The
color spaces that caused this error are 'yiq','argyb', and
'ciexyz'. This problem has been fixed.
-
When calling trans_from_rgb with the color space 'argyb', for
green and blue values with a high saturation the rg and the yb
channel had a byte underflow. Furthermore, trans_to_rgb returned
wrong results for the color space hsv if the saturation was
0. Only if the hue value was 0, the correct result was returned.
These problems have been fixed. The documentation has been
adapted accordingly.
-
The HALCON operators tuple_number and tuple_is_number in some
cases returned wrong results in case the input parameter
contained strings. This problem has been fixed.
-
The operator tuple_strrstr and the function strrstr in HDevelop
returned a wrong index for the (last) occurrence of a substring
if this substring was right aligned in the search string. This
problem has been fixed.
-
The operators watersheds, gray_inside, and depth_from_focus
sometimes did not converge. In these cases, the respective
operator got stuck within an infinite loop. This problem has been
fixed.
-
The operator write_ocr_class_mlp returned the error 6002 (Memory
partition on heap has been overwritten) if the file name
specified in FileName did not contain the extension '.fnt' and if
the length of the filename was divisible by 4. This problem has
been fixed.
Manual:
-
The "Quick Guide to HALCON" is available in a new edition. It now
contains three new chapters, which explain the methods 'Edge
Filtering', 'Edge and Line Extraction', and 'Contour Processing'.
-
The "Application Note on 3D Machine Vision"
is available in a new edition. It now also describes how to use
grid rectification to perform measurements on arbitrarily shaped
objects. For this it provides the new example programs
grid_rectification_ruled_surface.dev and
grid_rectification_arbitrary_distortion.dev in the directory
examples/application_guide/3d_machine_vision/hdevelop.
-
The "Installation Guide" is available in a new edition. It has
been adapted to the newly provided HALCON version for Itanium 2.
-
The "Programmer's Guide" is available in a new edition. Besides
the adaptation to the newly provided HALCON version for Itanium 2 some errors in the example
for the class HRegion and in the member function lists of
HRegionArray and Hobject have been corrected.
-
In the Reference Manual, errors in the examples for the operators
overpaint_gray and overpaint_region have been corrected.
-
The documentation of points_harris listed wrong supported image
types. Instead of int2 and int4 images, points_harris supports
uint2 and real images. The documentation has been corrected.
-
The description of the variations in create_component_model was
wrong. The input variations VariationRow, VariationColumn, and
VariationAngle describe movements that are defined by
±VariationRow/2, ±VariationColumn/2, and ±VariationAngle/2
instead of ±VariationRow, ±VariationColumn, and
±VariationAngle, as it was described in the documentation.
-
The documentation of the operator expand_line has been extended.
-
The documentation of the operators grab_image_start,
grab_image_async, and grab_region_async has been clarified.
-
The documentation of the operators learn_ndim_box and
learn_ndim_norm now clarifies the differences between these two
operators.
-
The documentation of set_lut has been adapted. The sentence: "If
there are less lines than gray values, the available information
values are distributed over the whole interval calculating the
missing values by interpolation." did not describe the behavior
of the operator accurately. In fact, the gray values in the
displayed image are set to the nearest value that is specified
in the LUT file.
-
The documentation of the operators in the chapters
Tools → 2D-Transformations,
Tools → 3D-Transformations, and
Tools → Calibration has been revised and extended.
-
The documentation now explicitly describes that the domain of the
image is ignored for measuring with the operators in the chapter
Tools → Measure, e.g., with measure_pos or
measure_pairs.
-
The documentations of select_matching_lines, hough_lines, and
hough_lines_trans showed a wrong typical range of values for the
parameters DistIn, DistOut, and Dist, respectively, i.e.,
-1.5707963 <= Dist <= 3.1415927. However, these parameters are
equal to or greater than 0. The reference manual has been
corrected accordingly.
Bug Fixes:
-
The HALCON/C++ member function HImageArray::Append(HImageArray)
threw an exception if the resulting image array contained more
elements than already allocated before the operation. This
problem has been fixed.
-
The constructors of the HALCON/C++ class HFramegrabber internally
swapped the values passed to the last two input parameters 'Port'
and 'LineIn'. This problem has been fixed.
-
The HALCON/C++ member functions HTuple::Number() and
HTuple::IsNumber() in some cases returned wrong results in case
the input parameter contained strings. This problem has been
fixed.
-
Calling the HALCON/C++ member function HTuple::Append()
sometimes led to a crash if the input parameter was the tuple
to be modified itself. This problem has been fixed.
-
The overloaded comparison operators == and != in the HALCON/C++
class HTuple sometimes returned wrong results. This problem has
been fixed.
Examples:
-
The example program examples/qt/Matching has been added. The
program uses Qt and HALCON/C++ and shows the use of open_window
and set_window_extents in an application in which the main window
can be resized by the user.
Manual:
-
The reference manuals for HALCON/COM did not contain information
about the complexity of operators. This information is now
included.
- 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 uEye USB 2.0
cameras from IDS.
- HALCON now also includes the
interface BaumerFCAM for
the IEEE 1394 cameras from Baumer Optronic.
- HALCON now also includes an
interface to the Meteor-II frame
grabber boards from Matrox.
Modified Frame Grabber Interfaces:
Programming:
-
The HALCON compiler hcomp now has two new (optional) parameters,
which can be used to customize the created reference manuals for
extension packages. How to use these parameters is described in
the "Extension Package Programmer's Manual".
-
The HALCON compiler hcomp of 7.0.1 can now be applied also to
user extension packages written for HALCON versions older than
7.0. Previously, it returned an error in this case, because the
module was set to 'basic' instead of 'foundation'. Now it only
warns that the module name should be changed to 'foundation'.
Manual:
-
The "Extension Package Programmer's Manual" is available in a new
edition. It has been adapted to the newly provided HALCON version
for Itanium 2 and explains how to
use the new parameters of the HALCON compiler hcomp.
Furthermore, it now correctly states that new
operators should be assigned to the module foundation.
Also, the type definition of
Hpar contained errors, which have been corrected.
Bug Fixes:
-
If the contrast was chosen such that no model contours were
found, the last non-empty contour result was displayed until the
window was minimized or covered. This has been fixed.
Itanium 2 (Linux):
HALCON 7.0.1 has been compiled for Intel Itanium 2 processors under
Linux 2.4 with gcc 3.3. To use this version, please set the
environment variable ARCHITECTURE to ia64-linux2.4 and update the
environment variables PATH and LD_LIBRARY_PATH accordingly.
Installation:
-
The uninstallation process on Windows did not clean up the
environment
variables. Thus, the variables HALCONROOT and HALCONIMAGES
remained untouched, and the entries %HALCONROOT%\bin\i586-nt4 and
%HALCONROOT%\FLEXlm\i586-nt4 remained within the system-wide PATH
variable. This problem has been fixed.
Example Images:
|