 |
|
 |
HALCON 5.2 frame grabber interface for
FlashBus boards |
This document provides some information about the HALCON frame grabber
interface FlashBus.dll for the
Integral Technologies frame
grabber boards of the FlashBus MV family. Registered customers can download the
latest revision
of this interface from the
MVTec WWW server.
Revision: 1.27
System Requirements
-
Intel compatible PC with Windows NT 4.0 (Service Pack 4).
-
Successfully installed FlashBus driver Flashbus.sys
(version 3.30 or higher).
-
Integral DLL Fbus32.dll (version 3.9 or higher).
This DLL must be within your search path %PATH%. If you do not have
this DLL, please contact Integral or the vendor from which
you bought the frame grabber board.
-
HALCON frame grabber interface FlashBus.dll.
If you have properly
installed the interface, FlashBus.dll should reside in bin\i486-nt4
within the HALCON base directory %HALCONROOT% you have chosen
during the installation of HALCON.
Features
-
Multiple frame grabber boards with multiple cameras.
-
Synchronous and asynchronous grabbing.
-
Realtime grabbing (30 frames per second or 60 fields per second
for NTSC).
-
External trigger.
-
Subsampling by a factor of 1, 2 or 4 in horizontal or
vertical direction separatly.
-
Cropping of image parts.
-
Writing and reading LUTs.
-
Software control of the video gain (composite and S-Video only).
-
Sending or receiving TTL signals from the onboard pins.
-
Programming the serial interface.
-
Optional: automatic gain control.
-
Software control of hue, saturation, and brightness.
-
Software control of the intensity of the red-, green-, and blue- channel (for RGB-signal).
-
Software control of contrast and sharpness.
-
Optional: disable color decoding on a composite input.
-
Adjustment of frame grabber specific parameters.
-
Supporting strobe grabbing and asynchronous reset.
Limitations
-
grab_region() and grab_region_async() not supported.
Description
Parameters for
open_framegrabber():
|
Name
|
'FlashBus'
|
The name of the HALCON frame grabber interface.
|
|
FGWidth
|
1, 2, 4, width
|
The desired image resolution. Use '1' for full resolution, '2'
for subsampling by factor 2, '4' for subsampling by factor 4, or
the corresponding absolute values 640, 320, 160 (NTSC) or
768, 384, 192 (PAL). Default: 1.
|
|
FGHeight
|
1, 2, 4, height
|
The desired image resolution. Use '1' for full resolution, '2'
for subsampling by factor 2, '4' for subsampling by factor 4, or
the corresponding absolute values 480, 240, 120 (NTSC) or
576, 288, 144 (PAL). Default: 1.
|
|
Width
|
0, width
|
The width of the desired image part (use '0' for the complete image).
Default: 0.
|
|
Height
|
0, height
|
The height of the desired image part (use '0' for the complete image).
Default: 0.
|
|
StartRow
|
0, row
|
The row coordinate of the upper left pixel within the desired
image part (use '0' for the complete image). Default: 0.
|
|
StartColumn
|
0, column
|
The column coordinate of the upper left pixel within the desired
image part (use '0' for the complete image). Default: 0.
|
|
Field
|
'first', 'second', 'next', 'progressive'
|
Specifies the alignment of the grabbed images ('first': grabbing
starts with an even field, 'second': grabbing starts with an odd
field, 'next': grabbing starts with the next available field).
When subsampling by a factor of 2 or 4 a field grabbing is done
(you can achieve full field rate grabbing in this case!).
To avoid line jittering say 'first' or 'second' (in this case
you only get even or odd fields when subsampling).
If you use a progressive scan camera say 'progressive'.
Default: 'next'.
|
|
Bits
|
8, 16, 24
|
Grayscale (8 bits) or color (16 and 24).
The 16 bit mode is used to reduce the PCI bus load. You will get
an 24 bit HALCON image in this case, too (the 5-6-5 bit encoded BGR
raw data delivered by the FlashBus board is splitted and shifted
to an 8-8-8 three channel RGB HALCON image inside the
frame grabber interface). Default: 24.
|
|
ColorSpace
|
---
|
Ignored.
|
|
Gain
|
0.0 - 63.0
|
The desired video gain (composite and S-Video only): Note that this
parameter is of type floating point. However, only integer
values are used. Remember to switch off AGC if you want to
change the gain setting. Default: 11.0.
|
|
ExternalTrigger
|
'true', 'false'
|
Activate/deactivate external triggering. Default: 'false'.
|
|
Generic
|
'AUTO', 'NTSC', 'PAL', 'PAL-LARGE', 'S-NTSC', 'S-PAL', 'S-PAL-LARGE', 'RGB-NTSC',
'RGB-PAL', 'RGB-PAL-LARGE', 'RS170-NTSC', 'RS170-PAL', 'RS170-PAL-LARGE'
|
The generic parameter is used to specify the video signal:
'NTSC', 'PAL', or 'AUTO'. The latter will do an
automatic analysis of the signal. The additional 'S-' or 'RGB-'
specifies an S-Video or RGB input. Without the prefix a composite
signal is assumed. For the PAL norm the suffix '-LARGE' leads to an
image size of 768*576 pixels, whereas the normal size is assumed
to be 760*570. Default: 'NTSC'.
|
|
Device
|
'0', '1', '2', ...
|
The number of the frame grabber board (passed as a string!).
Default: '0'.
|
|
Port
|
0 - 5
|
The desired input port depends on the type of video signal you are using;
the following ports are available for the different types: Composite: 0-5, S-Video: 0-2,
RGB: 0, RS170: 0-1. Default: 1.
|
|
LineIn
|
---
|
Ignored.
|
|
Parameters for
set_framegrabber_param():
|
'volatile'
|
'enable', 'disable'
|
Grayscale (8 bit) only.
In the volatile mode 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!
|
|
'hue'
|
0 - 63
|
Sets value for hue. Default: 0.
|
|
'saturation'
|
0 - 63
|
Sets value for saturation. Default: 32.
|
|
'brightness'
|
0 - 63
|
Sets value for brightness. Default: 34.
|
|
'contrast'
|
0 - 63
|
Sets value for contrast. Default: 35.
|
|
'redbright'
|
0 - 63
|
Sets red brightness value for RGB input. Default: 0.
|
|
'greenbright'
|
0 - 63
|
Sets green brightness value for RGB input. Default: 0.
|
|
'bluebright'
|
0 - 63
|
Sets blue brightness value for RGB input. Default: 0.
|
|
'sharpness'
|
0 - 7
|
Sets a sharpness filter. Default: 0.
|
|
'compmono'
|
'enable', 'disable'
|
Enable or disable color decoding on a composite input.
Default: 'enable'.
|
|
'syncmode'
|
0, 1
|
If syncmode is set to 1 the decoder changes its method of syncing
to a video source (may produce better results with certain video
equipment). Default: 0.
|
|
'gain'
|
0.0 - 63.0
|
Sets the gain (only valid for composite and S-Video inputs).
AGC must be disabled! Default: 11.0.
|
|
'agc'
|
'enable', 'disable'
|
Enables or disables automatic gain control. Default: 'disable'.
|
|
'trigger_signal'
|
'rising', 'falling', 'levelhigh', 'levellow'
|
Defines the expected type of input trigger.
'rising' ('falling') requires the external trigger to go low
(high) and high (low) again before the next image can be acquired;
in case of 'levelhigh' ('levellow') an image can be acquired
during the whole time the trigger is high (low).
|
|
'ttlio'
|
dword
|
Sets TTL level of the onboard pins. The setting is passed as a 32
bit value. The upper 16 bits are used as a mask, the lower 16 bits
contain the bit pattern to be set. Only 8 bits are used.
The pattern is as follows: UUUUUUUUMMMMMMMMUUUUUUUUVVVVVVVV
(U: unused / M: mask / V: value).
|
|
'serial'
|
string
|
Sends a string to the serial port of the frame grabber board.
|
|
'serial_setup'
|
'nBaud:nData:nParity:nStop:
nBytes:nTimeOut'
|
Configures the serial port of the frame grabber board. Possible values:
nBaud: 50, 110, 134, 200, 300, 600, 1050, 1200, 2400, 4800, 7200, 9600, 38400
nData: 5, 6, 7, 8
nParity: 0 (none), 1 (odd), 2 (even)
nStop: 1, 2
nBytes: >=0
nTimeOut: >=0
Default: '9600:8:0:1:16:10'.
|
|
'camera_type'
|
value
|
Specifies the camera type. Default: 0.
|
|
'misc_param_##'
|
value
|
Sets other than the above parameters; replace ## by the number
of the parameter you want to set. For a complete list of the
available parameters see your documentation of your FlashBus
frame grabber board.
Attention: When using 'misc_param_##' the according parameter
is set on the board and is NOT stored per instance!
|
|
'switch_camera_delay'
|
1 - 32768
|
The number of vertical blanks after switching between cameras connected to different ports.
Make sure that the time needed to wait for the specified number of vertical blanks is smaller
than the timeout for video synchronization (set by 'wait_for_sync'). Default: 1.
|
|
'wait_for_sync'
|
timeout
|
Timeout in ms to wait for video synchronization after switching ports.
Make sure that this value is larger than the time needed by 'switch_camera_delay'. Default: 5000.
|
|
'grab_timeout'
|
timeout
|
Timeout for image acquisition in milliseconds. Default: 5000.
|
|
'non_async_grab'
|
0, 1
|
Enable (1) or disable (0) the acquisition mode for strobe
grabbing and asynchronous reset. Default: 0.
|
|
'flash_type'
|
flashtype
|
Specifies the type of flash control desired (see FlashBus
user manual for a detailed description). Default: 0.
|
|
'flash_fdelay'
|
nrfields
|
Number of fields to wait between firing the flash and
grabbing the frame. Default: 0.
|
|
'flash_ldelay'
|
nrlines
|
Number of video lines to wait between firing the flash
and grabbing the frame. Default: 0.
|
|
Parameters for
get_framegrabber_param():
Additional parameters supported by get_framegrabber_param() only. Note that
all parameters supported by set_framegrabber_param() can also be accessed
by get_framegrabber_param().
|
'revision'
|
revision
|
The revision number of the HALCON frame grabber interface
FlashBus.dll.
|
|
'libversion'
|
version
|
The version number of the FlashBus library Fbus32.dll.
|
|
Lookup Tables:
Lookup tables can be manipulated using the operator
set_framegrabber_lut()
and
get_framegrabber_lut().
The FlashBus frame grabber boards use 256 entries per LUT, which are
passed as an array of integers with a value range from 0-255. When
using RGB input, three arrays are needed, in case of composite
input or the 'RS170...' generic parameter only the red channel is used.
Default: ramp with values from 0-255.
Release Notes
-
Revision 1.27 (Mar 30, 2000):
-
New parameter 'non_async_grab' to enable acquistion mode
for strobe grabbing and asynchronous reset.
-
New parameters 'flash_type', 'flash_fdelay', and 'flash_ldelay'
to specify the desired flash parameters.
-
Evaluation of the 'Field' parameter during open_framegrabber()
to enable correct field alignment when grabbing with
interlaced cameras.
-
Revision 1.26 (Jun 18, 1999):
-
New parameter 'grab_timeout'.
-
Revision 1.21 (May 4, 1999):
-
New parameters 'switch_camera_delay' and 'wait_for_sync'.
-
Revision 1.17 (Apr 23, 1999):
-
HALCON 5.2 version of the interface (included in the HALCON 5.2 CD).
-
Some bugfixes concerning the serial interface.
-
Revision 1.10 (Mar 22, 1999):
-
Prerelease of HALCON 5.2 version of the interface (included in the HALCON 5.2 prerelease CD).
-
Realtime grabbing; multiple cameras on multiple boards;
external trigger; programming of the serial interface;
programming of the onboard TTL pins; LUTs.
-
Revision 1.6 (August 1998):
|