Versions Compared

Key

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

Content

Excerpt
Table of Contents

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.

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

...

start855
videoIdhttps://youtu.be/

...

FdP2iPrMXC8?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

...

Edit Source Code

Adapt two functions of app.h class

  1. GigeEventCallback:

...

  1. Defines the behavior of iAMGigEServeriAMGigEServercomands.

  2. NewBufferCallback:

...

  1. Defines the video processing

...

  1. Note:

...

  1. Is renamed to processFrame in newer versions of code

...

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

...

  1. 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: /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.

Image Removed

...