 |
|

 |
HALCON 5.2 Frame Grabber Interface for ELTEC
PC_EYE® Boards
|
This document provides some information about the HALCON frame grabber
interface PCEye.dll for the
ELTEC frame grabber boards
PC_EYE® 1, PC_EYE® 2, and PC_EYE® 4.
Registered customers can download the
latest
revision of this interface from the
MVTec WWW server.
Revision: 1.4
System Requirements
-
Intel compatible PC with Windows NT 4.0 (Service Pack 4).
-
Successfully installed ELTEC
PC_EYE® 1, PC_EYE® 2, or PC_EYE® 4
(or any combination of those).
-
ELTEC DLLs eleye116.dll, eleye216.dll or
eleye416.dll, respectively.
These DLLs must be within your search path %PATH%
(e.g., in bin\i486-nt4 within the HALCON base directory
%HALCONROOT% you have chosen during the installation of HALCON).
If you do not have these DLLs, please contact ELTEC or the vendor
from which you bought the frame grabber board.
-
PC_EYE® 4 only:
ELTEC DLL el_hard.dll and eleye416.cam.
These files must also be within your search path %PATH%
(e.g., in bin\i486-nt4 within the HALCON base directory
%HALCONROOT% you have chosen during the installation of HALCON).
If you do not have these files, please contact ELTEC or the vendor
from which you bought the frame grabber board.
-
HALCON frame grabber interface PCEye.dll (revision 1.0
or higher).
If you have properly installed the interface,
PCEye.dll should reside in bin\i486-nt4 within the HALCON base
directory %HALCONROOT% you have chosen during the installation of
HALCON.
-
Configuration files for your boards, created with the
PC_EYE® configuration tool.
Features
-
Multiple frame grabber boards (different board types may be mixed).
-
Synchronous and asynchronous grabbing.
-
Cropping of image parts.
-
External trigger.
-
LUTs.
-
Software control of 'black' and 'white' levels.
-
Support of color CCD cameras with software control
of 'gain', 'hue' ,'saturation', and 'gamma'
(PC_EYE® 2 and PC_EYE® 4 only).
-
Software control of the digital output lines of the
PC_EYE® boards.
-
Support of dual mode (PC_EYE® 4 only).
Limitations
-
grab_region() and grab_region_async() not supported.
-
Support of monochrome 8 bit and RGB 24 bit mode only.
Description
Parameters for
open_framegrabber():
|
Name
|
'PCEye'
|
The name of the HALCON frame grabber interface.
|
|
FGWidth
|
---
|
Ignored (value is set via the configuration file).
|
|
FGHeight
|
---
|
Ignored (value is set via the configuration file).
|
|
Width
|
0, width
|
The width of the desired image part (Use 0 for the use of
values set in the configuration file). Default: 0.
|
|
Height
|
0, height
|
The height of the desired image part (Use 0 for the use of
values set in the configuration file). Default: 0.
|
|
StartRow
|
0, row
|
The row coordinate of the upper left pixel of
the desired image part (if Width and Height
are set to 0, this value is ignored and taken from the
configuration file). Default: 0.
|
|
StartColumn
|
0, column
|
The column coordinate of the upper left pixel of
the desired image part (if Width and Height
are set to 0, this value is ignored and taken from the
configuration file). Default: 0.
|
|
Field
|
---
|
Ignored (value is set via the configuration file).
|
|
Bits
|
---
|
Ignored (value is set via the configuration file).
|
|
ColorSpace
|
---
|
Ignored (value is set via the configuration file).
|
|
Gain
|
---
|
Ignored (value is set via the configuration file).
|
|
ExternalTrigger
|
---
|
Ignored (value is set via the configuration file).
|
|
Generic
|
'filename'
|
Name of the configuration file for the board. This has to be a
valid '.dat'-file created with the PC_EYE® configuration tool.
All the basic board setup is done using this file.
Note that only the 'gray' (8 bit) and 'rgb' (24 bit) color modes
are supported by this interface. A full path name has to be entered
(e.g., 'C:\\my_configurations\\my_pceye2_svhs0.dat').
|
|
Device
|
'name:x'
|
The name of the frame grabber board. Devices must be named
'name:x', where name is either
'pceye1', 'pceye2' or 'pceye4', and x is the
HEX setting of the board (PC_EYE® 1 and PC_EYE® 2:
HEX switch, PC_EYE® 4: jumpers J101 and J102).
Example: 'pceye4:3' is a PC_EYE® 4 board with HEX
jumpers set to 3. Note, that different boards have to use
different HEX settings.
|
|
Port
|
---
|
Ignored (value is set via the configuration file).
|
|
LineIn
|
---
|
Ignored.
|
|
Parameters for
set_framegrabber_param():
All these settings are valid for all input lines
(if applicable), i.e., cameras connected to one frame grabber board.
Note that not all of these settings may be used with all boards.
Some of these settings do not influence the grabbing on all camera
inputs (see below).
|
'volatile'
|
'enable', 'disable'
|
In the volatile mode (8 bit only!) the two frame grabber interface
buffers are used directly to store HALCON images. This is the fastest
mode avoiding to copy raw images in memory. However, be aware that
older images are overwritten again and again as a side-effect.
Thus, you can only process one image while you grab another image.
Older images are invalid! Default: 'disable'.
|
|
'start_row'
|
pixelalign ... (FGWidth-width)
|
The start row of the desired image part. 'start_row' must not be
larger than FGWidth-'width' and should be divisible by the
value 'pixelalign' (see below);
otherwise, 'start_row' is adjusted to a smaller valid value.
|
|
'start_column'
|
pixelalign ... (FGHeight-height)
|
The start column of the desired image part. 'start_column' must not
be larger than FGHeight-'height' and should be divisible
by the value 'pixelalign' (see below);
otherwise, 'start_column' is adjusted to a smaller valid value.
|
|
'white_level'
|
white_level_min ... white_level_max
|
The desired voltage level for 'white' pixels in millivolts
(floating point number). The valid range for a particular board
can (and should) be queried via
get_framegrabber_param(...,'white_level_min',...)
and get_framegrabber_param(...,'white_level_max',...),
respectively. Furthermore, 'white_level' must be larger than
'black_level'.
|
|
'black_level'
|
black_level_min ... black_level_max
|
The desired voltage level for 'black' pixels in millivolts
(floating point number). The valid range for a particular board
can (and should) be queried via
get_framegrabber_param(...,'black_level_min',...)
and get_framegrabber_param(...,'black_level_max',...),
respectively. Furthermore, 'black_level' must be smaller than
'white_level'.
|
|
'color_mode'
|
'r', 'g', 'b'
|
Set desired color plane (PC_EYE® 2 with 8 bit per pixel only).
|
|
'white_level_r'
|
white_level_min ... white_level_max
|
The desired voltage level for 'white' pixels in millivolts
(floating point number) for the red channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'white_level_min',...)
and get_framegrabber_param(...,'white_level_max',...),
respectively. Furthermore, 'white_level_r' must be larger than
'black_level_r'.
|
|
'white_level_g'
|
white_level_min ... white_level_max
|
The desired voltage level for 'white' pixels in millivolts
(floating point number) for the green channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'white_level_min',...)
and get_framegrabber_param(...,'white_level_max',...),
respectively. Furthermore, 'white_level_g' must be larger than
'black_level_g'.
|
|
'white_level_b'
|
white_level_min ... white_level_max
|
The desired voltage level for 'white' pixels in millivolts
(floating point number) for the blue channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'white_level_min',...)
and get_framegrabber_param(...,'white_level_max',...),
respectively. Furthermore, 'white_level_b' must be larger than
'black_level_b'.
|
|
'black_level_r'
|
black_level_min ... black_level_max
|
The desired voltage level for 'black' pixels in millivolts
(floating point number) for the red channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'black_level_min',...)
and get_framegrabber_param(...,'black_level_max',...),
respectively. Furthermore, 'black_level_r' must be smaller than
'white_level_r'.
|
|
'black_level_g'
|
black_level_min ... black_level_max
|
The desired voltage level for 'black' pixels in millivolts
(floating point number) for the green channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'black_level_min',...)
and get_framegrabber_param(...,'black_level_max',...),
respectively. Furthermore, 'black_level_g' must be smaller than
'white_level_g'.
|
|
'black_level_b'
|
black_level_min ... black_level_max
|
The desired voltage level for 'black' pixels in millivolts
(floating point number) for the blue channel (PC_EYE® 2
with RGB 24 bit per pixel only). The valid range
for a particular board can (and should) be queried via
get_framegrabber_param(...,'black_level_min',...)
and get_framegrabber_param(...,'black_level_max',...),
respectively. Furthermore, 'black_level_b' must be smaller than
'white_level_b'.
|
|
'offset'
|
0.0 ... 1.0
|
The desired offset level (PC_EYE® 2 and PC_EYE® 4
only, RGB 24 bit).
The equation 0.0 <= 2*offset + gain <= 2.0
has to be satisfied; otherwise, 'gain' is decreased
automatically.
|
|
'gain'
|
0.0 ... 2.0
|
The desired gain (PC_EYE® 2 and PC_EYE® 4 only, RGB 24 bit).
The equation 0.0 <= 2*offset + gain <= 2.0
has to be satisfied; otherwise, 'offset' is decreased
automatically.
|
|
'saturation'
|
0.0 ... 2.0
|
The desired color saturation (PC_EYE® 2 and PC_EYE® 4
only, RGB 24 bit).
|
|
'hue'
|
-180.0 ... 180.0
|
The desired color hue in degree (PC_EYE® 2 and PC_EYE® 4
only, RGB 24 bit).
|
|
'gamma'
|
1.0, 1.4
|
The desired gamma correction (PC_EYE® 2 and PC_EYE® 4
only, RGB 24 bit): l_out = l_in * exp(gamma).
|
|
'port'
|
0, 1, 2, 3 (PC_EYE® 1)
0, 1, 16, 17, 32, 33 (PC_EYE® 2)
0, 1, 16, 17, 32, 33, 48, 49 (PC_EYE® 4)
|
Select the desired camera input port for acquisition during
runtime. The following values are possible:
|
PC_EYE® 1:
|
0 1 2 3
|
video input #0 video input #1
video input #2 video input #3
|
|
PC_EYE® 2:
|
0 1 16 17 32 33
|
RGB input #0 RGB input #1
CVBS input #0 CVBS input #1
SVHS input #0 SVHS input #1
|
|
PC_EYE® 4:
|
0 1 16 17 32 33 48 49
|
b/w video input #0 b/w video input #1
CVBS input #0 CVBS input #1
SVHS input #0 SVHS input #1
dual mode dual mode (channels swapped)
|
|
|
'output_set'
|
1 ... 7 (PC_EYE® 1/2),
1 ... 3 (PC_EYE® 4)
|
Set value to 1, 2, and 4 (or any combination) to set
output lines 1, 2, and 3 (or any combination) to high state
(PC_EYE® 4: output lines 1 and 2 only).
Note, that the output status can not be read via
get_framegrabber_param().
|
|
'output_reset'
|
1 ... 7 (PC_EYE® 1/2),
1 ... 3 (PC_EYE® 4)
|
Set value to 1, 2, and 4 (or any combination) to set
output lines 1, 2, and 3 (or any combination) to low state
(PC_EYE® 4: output lines 1 and 2 only).
Note, that the output status can not be read via
get_framegrabber_param().
|
|
'grab_timeout'
|
100 - 327680
|
Sets a timeout value for grabbing (in ms). After grab_timeout
milliseconds the grabbing routine returns with a timeout error.
Default: 5000.
|
|
'testacq_interval'
|
0 - 10
|
Set time (in ms) between two subsequent test calls while
waiting for the end of a current grab. Default: 2.
|
|
'switch_buffer'
|
'enable', 'disable'
|
This parameter controls the buffer switching after each grab.
Usually, two image buffers are allocated, which are used
alternately. Default: 'enable'.
Attention: Do not disable the buffer switching if you are
using the volatile mode!
|
|
Parameters for
get_framegrabber_param():
Additional parameters supported by get_framegrabber_param() only. Note
that all parameters supported by set_framegrabber_param() (except
'output_set' and 'output_reset') can also be accessed
by get_framegrabber_param().
|
'revision'
|
revision
|
The revision number of the HALCON frame grabber interface
PCEye.dll.
|
|
'pixelalign'
|
bits
|
Alignment of 'start_row' and 'start_column' in the memory.
'start_row' and 'start_column' must be divisible by this value.
|
|
'black_level_min'
|
millivolt
|
The minimum allowed voltage level for 'black' pixels in millivolts.
|
|
'black_level_max'
|
millivolt
|
The maximum allowed voltage level for 'black' pixels in millivolts.
|
|
'white_level_min'
|
millivolt
|
The minimum allowed voltage level for 'white' pixels in millivolts.
|
|
'white_level_max'
|
millivolt
|
The maximum allowed voltage level for 'white' pixels in millivolts.
|
|
Release Notes
-
Revision 1.4 (January 24, 2000):
-
Timeout configuration while waiting for a grab
(new parameters 'grab_timeout' and 'testacq_interval').
-
Bugfix in asynchronous image grabbing.
-
New parameter 'switch_buffer'.
-
Revision 1.0 (November 19, 1999):
|