 |
|
MVTec HALCON 9.0: Image Acquisition Interface for the ABS UK1000/3000 Camera
Family
This page provides the documentation of the HALCON ABS image acquisition
interface for the ABS UK1000/3000 cameras from
ABS GmbH.
Registered
customers can download the
latest revision
of this interface from the
MVTec WWW server.
Revision: 4.0
System Requirements
-
Intel Pentium II compatible PC using Windows 2000, Windows XP or Windows Vista (also Windows x64 in 32-bit mode).
-
USB 2.0 interface hardware.
-
ABS-USB-Driver:
- Windows 2000 / XP -> USBGenDv driver USBGenDv.sys version
1.5.4 or higher.
- Windows Vista -> USBGenVs driver USBGenVs.sys version 1.5.5
or higher
Typically, this file resides in the directory %WINDIR%\system32\drivers.
-
ABS-USB-Interface DLL: CamUsb_API_hal.dll version 1.9.39 or
higher.
-
HALCON frame grabber interface hAcqABS.dll or hAcqABSxl.dll,
respectively.
If you have properly installed the interface hAcqABS.dll and the hAcqABSxl.dll
DLLs should reside in bin\%HALCONARCH% within the HALCON base
directory %HALCONROOT% you have chosen during the installation of HALCON.
Features
-
Usage of multiple cameras (up to 16).
-
Grabbing images in synchronous or asynchronous modes.
-
Hardware trigger (external) and software trigger for multiple cameras.
-
Simultaneous software-trigger feature for multiple cameras.
-
Control of exposure and auto exposure and gain by software
-
Control of color correction and white balance by software
-
Control of gamma, brightness and contrast by software
-
Control of digital input and output ports
Limitations
-
grab_region and grab_region_async
not supported.
-
No LUTs.
-
No software and hardware cropping of images.
-
Volatile is not yet supported
When using multiple ABS cameras please make sure that each cameras has an
unique device ID.
You can manually set these device IDs by use of the auxiliary program ABSCameraConfig.exe
which is part of the ABS driver installation.
For each camera to be used in HALCON one framegrabber has to be opened by
calling open_framegrabber('ABS', ...) with the previously defined
internal device ID as 'Device' parameter.
The Port and LineIn parameters are not supported because each
single camera is a separate HALCON device.
To get some information about the currently attached camera devices, the
operator
info_framegrabber('ABS','info_boards', ...) can be called.
Some of the values delivered with a 'set_' operator may differ from the values
that can be set effectively on the sensor hardware. In such cases the nearest
possible value will be chosen and set on the hardware.
A subsequent call with a 'get_' operator will deliver the value that has
effectively been set on the hardware.
Description
Parameters for open_framegrabber():
|
Name
|
|
'ABS'
|
|
The name of the HALCON image acquisition interface.
|
|
HorizontalResolution
|
1, 2, 4
|
1 - full horizontal resolution 2(4) - means subsampling by factor 2(4) Any
other value (if dividable by 4) will result in an image with that value as
image width. In that case the pixels in the middle of the sensor will be read
out (if StartColumn = 0) Default: 1.
|
|
VerticalResolution
|
1, 2, 4
|
1 - full vertical resolution 2(4) - means subsampling by factor 2(4). Any other
value (if dividable by 4) will result in an image with that value as image
height In that case the pixels in the middle of the sensor will be read out (if
StartRow = 0) Default: 1.
|
|
ImageWidth
|
0, width
|
0 - ImageWidth results from the resolution settings, if specified the image
will have this width and will not be subsampled (width has to be a multiple of
4) Default: 0
|
|
ImageHeight
|
0, height
|
0 - ImageHeight results from the resolution settings, if specified the image
will have have this height and will not be subsampled (height has to be a
multiple of 4) Default: 0
|
|
StartRow
|
0, row
|
0 - StartRow will be calculated to center the resulting image in column
direction of the sensor area. Otherwise it is the coordinate of the upper pixel
line (row has to be a multiple of 4) Default: 0.
|
|
StartColumn
|
0, column
|
0 - StartColumn will be calculated to center the resulting image in row
direction of the sensor area. Otherwise it is the coordinate of the left most
pixel (column has to be a multiple of 4) Default: 0.
|
|
Field
|
---
|
Ignored. (use 'default').
|
|
BitsPerChannel
|
8, 10, 12
|
Number of bits per image channel: Grayscale (8 bits) (value is hardware
dependent) Default: 8.
|
|
ColorSpace
|
'default', 'gray', 'rgb'
|
Specifies the color space. Gray results in a one channel image and rgb in a
three channel image. Default: 'rgb'.
|
|
Gain
|
gain
|
Ignored.
|
|
ExternalTrigger
|
'enable', 'disable'
|
Sets the camera to the external trigger mode, An external trigger signal is
used to start capture of a single image
|
|
CameraType
|
'default'
|
Ignored. (use 'default').
|
|
Device
|
'-1','DeviceId'
|
open_framegrabber will try to find a camera with a matching 'DeviceID' string. This ID
has to be set with an external application 'ABSCameraConfig' before the camera
can be used in HALCON. Make sure that each of the connected cameras has its
unique 'DeviceID', otherwise the function will return an error 'wrong device'
Default: '-1' (searches for the first unused camera).
|
|
Port
|
---
|
Ignored.
|
|
LineIn
|
---
|
Ignored.
|
|
Parameters for set_framegrabber_param():
|
'autoexposure'
|
|
'enable', 'disable'
|
|
Use ‘enable' to turn the autoexposure feature on or ‘disable’ to turn it off
|
|
'autoexposure_target'
|
0.0 - 1.0
|
The current target value which is to be used for the autoexposure feature.
Default: 0.5
|
|
'autoexposure_roi'
|
[left, top, right, bottom]
|
These are the pixel coordinates of the measure window for the autoexposure
feature, they are only valid if the feature has been enabled before (default:
image coordinates).
Valid values have to be multiples of 4
|
|
'autoexposure_control'
|
timeout, max. exposure (opt.), max. gain (opt.)
|
Set the autoexposure control parameters. This parameters are autoexposure
timeout, optional maximum exposure and maximum gain, they control the
autoexposure algorithm’s behaviour. By setting the timeout value you guarantee
not to trigger any images within that time from grabbing the last image
onwards. Maximum exposure and gain are the highest values which will be used by
autoexposure algorithm to control the brightness. Set this values to zero to
let the camera decide.
|
|
'brightness'
|
'brightness'
|
Set the brightness value to a value within the possible range. Default: 0
|
|
'color_correction'
|
'enable', 'disable'
|
Use 'enable' to switch the color correction feature on or 'disable' to switch
it off
|
|
'continuous_grabbing'
|
'enable', 'disable'
|
Use 'enable' to turn the 'continuous_grabbing' feature on or 'disable' to turn it
off
|
|
'contrast'
|
contrast
|
Set the contrast value to a value within the possible range. Default: 0
|
| 'do_whitebalance'
|
---
|
Starts a one-time whitebalance calculation. For optimal results a
white or gray surface should be placed in front of the camera covering the
whole object plane.
|
| 'do_fire_global_sw_trigger'
|
---
|
Triggers all cameras, which are setup for global software trigger,
simultaneous. ('grab_async_with_global_sw_trigger' and
grab_image_start must be called)
|
| 'grab_async_with_global_sw_trigger'
|
'true'
|
If set to 'true' the next call to grab_image_start
setup the camera for async image capture with simultaneous global
software trigger. The trigger will be fired if you call the
parameter 'do_fire_global_sw_trigger' .
|
|
'external_trigger'
|
'true', 'false'
|
Switch external triggering on or off
|
|
'exposure_time'
|
exposure_time
|
Set a value within the possible range in µs
|
|
'flip_horizontal'
|
'enable', 'disable'
|
Use 'enable' to switch the feature on or 'disable' to switch it off
|
|
'flip_vertical'
|
'enable', 'disable'
|
Use 'enable' to switch the feature on or 'disable' to switch it off
|
|
'framerate'
|
framerate
|
Set the framerate at which the camera should deliver images when
'continuous_grabbing' is enabled. The value must be between 1 and
max_framerate.
Use get_framegrabber_param(... , 'maximum_framerate', ...) to get this value
|
|
'gain'
|
gain
|
Set a gain value within the possible range for monochrome cameras.
Use 'gain_xxx_channel' to set the separate gain value of the color channels for
color cameras, by using 'gain' all channels will be set to the same amount
|
|
'gain_global'
|
gain_global
|
Gain value for the global channel
|
|
'gain_red'
|
gain_red
|
Gain value for the red channel
|
|
'gain_green'
|
gain_green
|
Gain value for the green channel
|
|
'gain_blue'
|
gain_blue
|
Gain value for the blue channel
|
|
'gamma'
|
gamma
|
Set the gamma value to a value within the possible range. Default: 1.0
|
|
'roi'
|
[left, top, right, bottom]
|
These are the pixel coordinates on the sensor specifying a window where the
image is to be taken from. Valid values have to be multiples of 4
|
|
'outport0'
|
'true', 'false'
|
Set the state of the outport to 'true' to set the output to high or 'false' to
set the outport to low
|
|
'outport1'
|
'true', 'false'
|
Set the state of the outport to 'true' to set the output to high or 'false' to
set the outport to low
|
|
'start_row'
|
start_row
|
Specify the topmost row of the image to be taken in pixel coordinates (y).
Valid values have to be multiples of 4 The image height will not be altered,
that means that the sum of the image height and the start_row must not exceed
the vertical sensor resolution
|
|
'start_column'
|
start_column
|
Specify the leftmost column of the image to be taken in pixel coordinates (x).
Valid values have to be multiples of 4 The image width will not be altered,
that means that the sum of the image width and the start_column must not exceed
the horizontal sensor resolution
|
|
'timestamp_overlay'
|
'enable', 'disable'
|
Use 'enable' to switch the timestamp overlay feature on or 'disable' to switch
it off
|
|
'trigger_mode'
|
'level', 'edge'
|
Level- or edge triggering
|
|
'trigger_port'
|
'port'
|
Number of the port which is to be used for external trigger (get more info on
available ports by querying ‘info parameters’. Default: TTL Trigger-Input
|
|
'trigger_signal'
|
'active_high', 'active_low', 'normal', 'inverted'
|
Set the trigger signal to one of the possible values, the default setting may
vary on different camera models
|
|
Parameters for get_framegrabber_param():
Additional parameters supported by get_framegrabber_param only. Note
that all parameters supported by set_framegrabber_param except the
ones with prefix 'do_' can also be accessed by get_framegrabber_param.
Furthermore, corresponding to the
parameters supported by set_framegrabber_param, there may
exist additional read-only parameters with the following postfixes:
-
'_description': These parameters provide the tooltip of the
corresponding parameter as a string.
-
'_range': These parameters provide the minimum, maximum,
stepwidth, and default values for the corresponding integer or float
parameter as a tuple with 4 elements, e.g.,
get_framegrabber_param(..,'exposure_range',..) will return
the output tuple [min,max,step,default]. Optionally,
this tuple can also contain additional valid string values like
'auto' or 'manual'.
-
'_values': These parameters provide the valid value list for
the corresponding parameter as a tuple, e.g.,
get_framegrabber_param(..,'volatile_values',..) will return
the output tuple ['enable','disable'].
All these postfixed parameter names are not returned when calling
info_framegrabber(..,'parameters',..) and are used
to enable the easy parameterization via a generic graphical user
interface, particularly the HDevelop Image Acquisition Assistant.
|
'inport0'
|
|
'true', 'false'
|
|
Returns 'true' if a high signal is on inport0, otherwise 'false'
|
|
'inport1'
|
'true', 'false'
|
Returns 'true' if a high signal is on inport1, otherwise 'false'
|
|
'maximum_framerate'
|
max_fram_rate
|
Returns the maximum framerate achievable by the sensor when using
'contiuous_grabbing'. This value may change on different image sizes.
|
|
Release Notes
-
Revision 4.0 (Dec 1, 2008):
-
HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
-
Revision 3.0 (Apr 25, 2008):
|