Interface for selecting a camera.
More...
|
cvbbool_t | CanCameraSelect2 (IMG Image) |
| This function verifies whether the image supports the CameraSelect2 interface. More...
|
|
cvbres_t | CS2GetCamPort (IMG Image, cvbval_t &lPort) |
| Returns the number of the currently selected camera port using the ICameraSelect2 interface. More...
|
|
cvbres_t | CS2GetNumPorts (IMG Image, cvbval_t &lNumPorts) |
| Returns the number of ports of the image or image acquisition device using the ICameraSelect2 interface. More...
|
|
cvbres_t | CS2SetCamPort (IMG Image, cvbval_t lPort, cvbval_t lImgToWait, IMG &imgNew) |
| Sets the current camera port using the ICameraSelect2 interface. More...
|
|
Interface for selecting a camera.
◆ CanCameraSelect2()
cvbbool_t CanCameraSelect2 |
( |
IMG |
Image | ) |
|
This function verifies whether the image supports the CameraSelect2 interface.
- Parameters
-
[in] | Image | Handle of image object. |
- Returns
TRUE
if the image supports the CameraSelect2 interface, FALSE
otherwise.
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC MDI Example (DLL only)
◆ CS2GetCamPort()
cvbres_t CS2GetCamPort |
( |
IMG |
Image, |
|
|
cvbval_t & |
lPort |
|
) |
| |
Returns the number of the currently selected camera port using the ICameraSelect2 interface.
- Parameters
-
[in] | Image | Handle of image object. |
[out] | lPort | Current camera port. |
- Returns
- 0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC MDI Example (DLL only)
◆ CS2GetNumPorts()
cvbres_t CS2GetNumPorts |
( |
IMG |
Image, |
|
|
cvbval_t & |
lNumPorts |
|
) |
| |
Returns the number of ports of the image or image acquisition device using the ICameraSelect2 interface.
- Parameters
-
[in] | Image | Handle of image object. |
[out] | lNumPorts | Number of ports. |
- Returns
- 0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC MDI Example (DLL only)
◆ CS2SetCamPort()
cvbres_t CS2SetCamPort |
( |
IMG |
Image, |
|
|
cvbval_t |
lPort, |
|
|
cvbval_t |
lImgToWait, |
|
|
IMG & |
imgNew |
|
) |
| |
Sets the current camera port using the ICameraSelect2 interface.
- Attention
- Depending on the camera timing mode and the acquisition device, it is important to set the parameter lImgToWait to a value that allows the acquisition device time to synchronise. If images are not synchronised after switching increase this number by 1 or 2 frames. The function returns a new image that represents the new camera port.
The old image still exists but all driver interfaces 'move' to the new image. The old image (Image) and the new Image (imgNew) have to be released with ReleaseObject
when they are not needed anymore.
- Parameters
-
[in] | Image | Handle of image object. |
[in] | lPort | Port to be set active |
[in] | lImgToWait | Specifies the number of vertical blanks to wait after switching in order to give the PLL enough time to prepare for the new signal. |
[out] | imgNew | The new image representing the new camera port. All driver interfaces are moving to this new image. |
- Returns
- 0 : OK
<0 : an error occured
- Supported platforms:
- Win32
Win64
Linux
- Examples:
- Visual C++ - VC MDI Example (DLL only)
- Example Code in Delphi:
Switching between 2 Cameras via CameraSelect2 Interface.
procedure TForm1.OpenSwitch;
var result : LongInt; // result of driver operations
imgTmp : IMG; // just a helper to need fewer casts
imgNew : IMG; // will contain the switched image
begin
CVImg.LoadImageByDialog;
imgTmp := IMG(CVImg.Image);
// verify image source
if (CanGrabber(imgTmp)) then
begin
if (CanCameraSelect2(imgTmp)) then
begin
// switch to camera 2
imgNew := Nil;
result := CS2SetCamPort(imgTmp, 1, 0, imgNew); // port 1
if (result >= 0) then
begin
if (imgNew <> Nil) then
begin
CVImg.Image := LongInt(imgNew);
ReleaseObject(imgNew);
end;
end;
end; // CameraSelect2
end; // CanGrabber
CVDisp.Image := CVImg.Image;
end; // procedure