The OptrisCamera transport handler allows receiving videos and images from Optris Infrared cameras using the Optris PI Connect SDK. The operator can only operate in push mode.
Options
serialnumber:
The serial number of the camera to use. If no serial number is specified, the first free camera will be used. (optional)
Schema
The output of the handler provides the following attributes as a schema. All attributes are optional and can be in an arbitrary order and will be identified by the type (IMAGEJCV, STARTTIMESTAMP) or name (flagstate).
Name | Type | Description |
---|---|---|
image | IMAGEJCV | The current frame of the video stream |
starttimestamp | STARTTIMESTAMP | The start time stamp of the frame |
flagstate | STRING | Current state of the camera flag. The flag is periodically (~12s) closed to re-calibrate the camera sensor which results in a short delay (~500ms). Possible values are:
|
Example
This example shows how to grab a thermal video from an optris camera (16-bit 1 channel), transform it to a grayscale RGB image, and display it in a window. Temperatures are mapped as a linear function from 10.00°C -> 0 (black) to 40.00°C -> 255 (white).
PQL
video = ACCESS({source='Video', wrapper='GenericPush', transport='OptrisCamera', protocol='none', datahandler='Tuple', schema= [ ['image', 'IMAGEJCV'], ['timestamp', 'STARTTIMESTAMP'], ['flagState', 'STRING'] ]}) /// or shorter, as a source operator: video = OPTRISCAMERA({source='Video'}) grayscale = MAP({expressions = [['stretchContrastCV(image, 1000, 4000, 0, 255)', 'rgb_grayscale']]}, video) output = UDO({class='ShowImageJCV', init='0,IR Video'}, grayscale)