Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Current »

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.

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: 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

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:

  2. Define new feature values:

  3. Define new register address:

  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.

  • No labels