Prepare Once, Use Multiple Times

This code snippet shows how to perform a threshold on a circular region in multiple image while preparing it only once.

C++

#include <eVision/EasyImage/EasyImage.h>
#include <eVision/Easy/ECircleRegion.h>
using namespace eVision;

// Image constructors
EImageBW8 srcImage[10];
EImageBW8 dstImage[10];
EPoint center(0, 0);
float radius(5);

//...

// Create the region
ECircleRegion circleRegion(center, radius);

// Prepare the region
circleRegion.Prepare(srcImage[0]);

// Threshold the images
for (int i = 0; i < 10; i++)
  EasyImage::Threshold(&srcImage[i], circleRegion, &dstImage[i]);

C#

using eVision;
// Image constructors
EImageBW8[] srcImage = new EImageBW8[10];
EImageBW8[] dstImage = new EImageBW8[10];
EPoint center = new EPoint(0, 0);
int radius = 5;

//...

// Create the region
ECircleRegion circleRegion = new ECircleRegion(center, radius);

// Prepare the region
circleRegion.Prepare(srcImage[0]);

// Threshold the images
for (int i = 0; i < 10; i++)
  EasyImage.Threshold(srcImage[i], circleRegion, dstImage[i]);

Python

import eVision
# Image constructors
src_image = []
for i in range(10):
    src_image.append(eVision.EImageBW8())
dst_image = []
for i in range(10):
    dst_image.append(eVision.EImageBW8())
center = eVision.EPoint(0, 0)
radius = 5

# ...

# Create the region
circle_region = eVision.ECircleRegion(center, radius)

# Prepare the region
circle_region.Prepare(src_image[0])

# Threshold the images
for i in range(10):
    eVision.EasyImage.Threshold(src_image[i], circle_region, dst_image[i])