Back to Aurora Vision Library website

You are here: Start » Function Reference » Camera Support » The Imaging Source » ICImagingControl_GrabImage

ICImagingControl_GrabImage


Header: ThirdPartySdk.h
Namespace: avl
Module: ThirdParty

Captures a frame from The Imaging Source cameras using ICImagingControl.

Syntax

bool avl::ICImagingControl_GrabImage
(
	ICImagingControlState& ioState,
	const atl::Optional<const atl::String&>& inDeviceID,
	int inInputQueueSize,
	const avl::ICImagingControlColorFormat::Type inPixelFormat,
	const atl::Optional<int> inBinning,
	const atl::Optional<int> inSkipping,
	const atl::Optional<avl::Box> inRoi,
	const atl::Optional<float> inFrameRate,
	const atl::Optional<int> inGain,
	const atl::Optional<bool> inGainAuto,
	const atl::Optional<double> inExposure,
	const atl::Optional<bool> inExposureAuto,
	const atl::Optional<int> inGamma,
	const atl::Optional<int> inSharpness,
	const atl::Optional<int> inFocus,
	avl::Image& outImage,
	atl::int64& outFrameID
)

Parameters

Name Type Range Default Description
Input will be modified ioState ICImagingControlState& Object used to maintain state of the function.
Input value inDeviceID const Optional<const String&>& NIL Serial number, display name, unique name or base name of the camera
Input value inInputQueueSize int 1 - + 3
Input value inPixelFormat const ICImagingControlColorFormat::Type RGB24 Pixel format
Input value inBinning const Optional<int> 2 - 64 NIL Skipping factor
Input value inSkipping const Optional<int> 2 - 64 NIL Binning factor
Input value inRoi const Optional<Box> NIL Hardware Region of Interest
Input value inFrameRate const Optional<float> 0.5 - NIL Camera frame rate
Input value inGain const Optional<int> 0 - + NIL Gain value
Input value inGainAuto const Optional<bool> NIL Enable auto gain
Input value inExposure const Optional<double> 0 - + NIL Exposure time
Input value inExposureAuto const Optional<bool> NIL Enable auto exposure
Input value inGamma const Optional<int> 0 - + NIL Gamma value
Input value inSharpness const Optional<int> 0 - + NIL Sharpness value
Input value inFocus const Optional<int> 0 - + NIL Focus value
Output value outImage Image& Captured frame
Output value outFrameID int64& Captured frame ID

Remarks

Camera driver software

This filter is intended to cooperate with a camera using its vendor SDK. To be able to connect to a camera, it is required to install ICImagingControl SDK software. Currently Aurora Vision Studio requires ICImagingControl SDK version 3.5.7.

Proper camera drivers and ICImagingControl SDK (IC Imaging Control .NET Component, C++ Class Library ) can be downloaded from the following website: https://www.theimagingsource.com/en-us/support/download/. To work with the Imaging Source SDK you need to install SDK on the target machine or copy manually the .dll files from the Documents\IC Imaging Control 3.5\redist\c++\win32\ directory on your computer (or Documents\IC Imaging Control 3.5\redist\c++\x64\ if you use Aurora Vision Studio x64) and add them to the Aurora Vision Studio directory in Program Files.

Camera identification

When there is only one camera connected to the computer, field inDeviceID can be set to Auto. In such case, the first available camera will be found and connected.

inDeviceID can be used to pick one of multiple cameras connected to the computer. inDeviceID can be set to:

  • serial number,
  • display name,
  • unique name,
  • base name of the camera.
Camera parameters

Most of the parameters exposed by camera filters are optional, setting them to Auto leaves related parameter for automatic configuration by the camera driver.

To change other and more advanced camera parameters, use the VCD Property Inspector available with ICImagingControl SDK. Refer to SDK documentation for information about parameters and how to save them into memory channels.

Multithreaded environment

This function is not guaranteed to be thread-safe. When used in multithreaded environment, it has to be manually synchronized.

See Also