Users Manual Area Scan Cameras SVSGigE
Page 67
Users Manual –svs11002 and svs16000
© SVS-VISTEK GmbH
ImageInfo->SizeX
= Image_getSizeX(Image);
ImageInfo->SizeY
= Image_getSizeY(Image);
ImageInfo->PixelType
= Image_getPixelType(Image);
ImageInfo->ImageID
= Image_getImageID(Image);
The newly allocated structure can be posted for example by a Windows message to a
function that is responsible for displaying the image or for further image processing.
16.11.7 Processing image data
Once an image has been forwarded by a callback function to a specific processing
function the image data will be worked on. Usually the camera has already started
capturing a subsequent image at the time when a previous image is processed. This
requires working with at least two image buffers in order to avoid overwriting data
that is being processed by a subsequent image acquisition process.
The higher the delay between image acquisition and image processing becomes the
more buffer might be needed for avoiding any conflicts. The number of needed buffers
has to be estimated based on the specific runtime conditions. The resulting number
will be passed to the GigE driver as an argument when creating a streaming channel.
The driver will allocate that number of buffers where each buffer will have enough
space for holding one complete image.
An image processing function will operate for example based on the following
parameters:
ImageInfo->ImageData
ImageInfo->SizeX
ImageInfo->SizeY
The
ImageData
pointer will be a reference to a buffer that was allocated by the driver
from persistent kernel memory and which address is mapped to user space. The
application is responsible for not violating the boundary that is given by the product of
the
SizeX
and
SizeY
parameters.
In case of color images that are coded as bayer pattern the SVGigE API offers a
function for converting those images to a RGB format. The appropriate conversion
needs to be done inside the callback function.
16.11.8 Decoding 12 Bit images
When a camera is switched to 12 Bit mode the received image usually needs decoding
in order to further process that image e.g. for displaying purposes (8 Bit needed)
respectively storage purposes (most often 16 Bit needed). A conversion will be based
on the layout of 12 Bit data where 2 pixels are folded into 3 bytes in the following
way:
The SDK provides for the following functions that perform conversion from 12 Bit to 8
Bit and 16 Bit as well as from 16 Bit to 8 Bit:
Image_getImage12bitAs8bit(Camera, Buffer8bit, BufferLength);
Image_getImage12bitAs16bit(Camera, Buffer16bit, BufferLength);
Image_getImage16bitAs8bit(Camera, Buffer8bit, BufferLength);
16.11.9 Adjusting tap balance automatically
Whenever a dual-tap camera is opened by calling
Camera_openConnection(Camera);
a balance check between the right and the left tap will be performed on the first
image that is regularly captured by the application. In case of a need to run a tap
balance, new gain factors are determined for achieving an optimal tap balance. It may
Содержание CameraLink svs16000
Страница 61: ...Users Manual Area Scan Cameras SVSGigE Page 61 Users Manual svs11002 and svs16000 SVS VISTEK GmbH ...
Страница 62: ...Users Manual Area Scan Cameras SVSGigE Page 62 Users Manual svs11002 and svs16000 SVS VISTEK GmbH ...
Страница 63: ...Users Manual Area Scan Cameras SVSGigE Page 63 Users Manual svs11002 and svs16000 SVS VISTEK GmbH ...
Страница 90: ...Users Manual SVS11002 and SVS16000 SVS VISTEK GmbH Press OK You are done ...