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: bitbucket.org/net-gmbh/iam_sw/
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.