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: Geting started with iam application development
See all Video Tutorial Session .
Example Repository
There is a Git repository for this 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 iAMGigEServer comands.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.