Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

Info

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

Confluence youtube macro video
fullscreenConfluenceButton
privacyEnhancedtrue
fullscreenConfluenceButton
start855
videoIdhttps://youtu.be/U2WP8hcGfN8FdP2iPrMXC8?feature=shared
alignCenter

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.

net-gmbh/iam_sw/

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.

net-gmbh/iam_sw/

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.

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

...

Adapt two functions of app.h class

  1. GigeEventCallback: Defines the behavior of iAMGigEServeriAMGigEServercomands.

  2. NewBufferCallback: Defines the video processing
    Note: Is renamed to processFrame in newer versions of code

  1. Note: GigeEventCallback is renamed to smartFeatureCallback in newer versions of code.

  2. Note: NewBufferCallback is renamed to processFrame in newer versions of code.

Bitbucket

Bitbucket readme macro
path/smartDices/src/app.h
repoopencv_dice
usernet-gmbh
commit_hashmaster

Edit XML -

...

Define a new GenICam Feature

An example XML can be found here: Bitbucket /opencv_dice/src/master/smartDices/smartDices.xml

  1. Add new feature to CustomControl cathegory, e.g. WhiteBalanceAuto:

    Image Modified

  2. Define new feature values:

    Image Modified

  3. Define new register address:

    Image Modified

  4. Implement processing inside void appClass:: SmartFeatureCallback ( … ) (alias GigeEventCallback) callback. Code snippet can be found in the Info toolbox at bottom left of SynView Explorer.

...