Computing Blobs Features

This code snippet shows how to retrieve blobs’ features.

C++

#include <eVision/EasyObject/EasyObject2/EImageEncoder.h>
using namespace eVision;
// Image constructor
EImageBW8 srcImage;
// Image encoder
EImageEncoder encoder;
// Coded image
ECodedImage2 codedImage;
// ...
// Encode the source image
encoder.Encode(srcImage, codedImage);
for (unsigned int index = 0; index < codedImage.GetObjCount(); index++)
{
  // Retrieve the selected blob gravity center
  ECodedElement blob = codedImage.GetObj(index);
  float centerX = blob.GetGravityCenter().GetX();
  float centerY = blob.GetGravityCenter().GetY();
}

C#

using eVision;
// Image constructor
EImageBW8 srcImage = new EImageBW8();
// Image encoder
EImageEncoder encoder = new EImageEncoder();
// Coded image
ECodedImage2 codedImage = new ECodedImage2();
// ...
// Encode the source image
encoder.Encode(srcImage, codedImage);
for (uint index = 0; index < codedImage.GetObjCount(); index++)
{
  // Retrieve the selected blob gravity center
  ECodedElement blob = codedImage.GetObj(index);
  float centerX = blob.GravityCenter.X;
  float centerY = blob.GravityCenter.Y;
}

Python

import eVision
# Image constructor
src_image = eVision.EImageBW8()
# Image encoder
encoder = eVision.EImageEncoder()
# Coded image
codedImage = eVision.ECodedImage2()
# ...
# Encode the source image
encoder.Encode(src_image, codedImage)
for index in range(codedImage.GetObjCount()):
    # Retrieve the selected blob gravity center
    blob = codedImage.GetObj(index)
    centerX = blob.GravityCenter.X
    centerY = blob.GravityCenter.Y