SynView Smart App Example using iAMGigEServer
Content
Introduction
On this page you will see how to write your own image processing application for iam and stream the result over iAMGigEServer to a host system.
The iam linux system contains build tools therefore it is possible to compile native on the camera. More Details can be found here Pre-Installed Open Source Libraries
The application is shown in the diagram below.
Video: Getting started with iam application development
See all Video Tutorial Session .
Example Repositories
Small and simple example applications:
Example Name | Compiling | Discription | Repository |
---|---|---|---|
sw_remap_synview | nativ/cross | The example remap_synview uses the function cv::remap from OpenCV. After processing the image is sent out via GigE Server. | |
sw_remap_boxfilter_synview | nativ/cross | The example sw_remap_boxfilter_synview uses the cv::remap and cv::boxfilter function from OpenCV. It demonstrates the execution of multiple sw- and hw-functions in different processing threads. The connection between the threads is established with two image-buffers. One is written, the other is read and vice versa. After processing the image is sent out via GigE Server. | |
sw_scaler_synview | nativ/cross | The main processing consists of a simple c-code scaler for horizontal and vertical rescaling. After processing the image is sent out via GigE Server. |
The Git repository for the presented example application: bitbucket.org/net-gmbh/opencv_dice/
How to build your own smart application
Edit Source Code
Adapt two functions of app.h class
GigeEventCallback
: Defines the behavior of iAMGigEServeriAMGigEServercomands.NewBufferCallback
: Defines the video processing
Note: Is renamed toprocessFrame
in newer versions of code
Note:
GigeEventCallback
is renamed tosmartFeatureCallback
in newer versions of code.Note:
NewBufferCallback
is renamed toprocessFrame
in newer versions of code.
Edit XML - Define a new GenICam Feature
An example XML can be found here: /opencv_dice/src/master/smartDices/smartDices.xml
Add new feature to CustomControl cathegory, e.g. WhiteBalanceAuto:
Define new feature values:
Define new register address:
Implement processing inside
void appClass:: SmartFeatureCallback ( … )
(aliasGigeEventCallback
) callback. Code snippet can be found in the Info toolbox at bottom left of SynView Explorer.
© Copyright 2020 NET GmbH. Privacy Statement