Holes Extraction¶
This code snippet shows how to retrieve blobs’ holes.
C++¶
#include <eVision/EasyObject/EasyObject2/EImageEncoder.h>
using namespace eVision;
// Image constructor
EImageBW8 srcImage;
// Image encoder
EImageEncoder encoder;
// Coded image
ECodedImage2 codedImage;
// ...
// Encode the image
encoder.Encode(srcImage, codedImage);
// Retrieve holes for all the blobs
for (unsigned int blobIndex = 0; blobIndex < codedImage.GetObjCount(); blobIndex++)
{
ECodedElement blob = codedImage.GetObj(blobIndex);
// Browse the holes of the current object
for (unsigned int holeIndex = 0; holeIndex < blob.GetHoleCount(); holeIndex++)
{
// Retrieve a given hole
ECodedElement hole = blob.GetHole(holeIndex);
}
}
C#¶
using eVision;
// Image constructor
EImageBW8 srcImage = new EImageBW8();
// Image encoder
EImageEncoder encoder = new EImageEncoder();
// Coded image
ECodedImage2 codedImage = new ECodedImage2();
// ...
// Encode the image
encoder.Encode(srcImage, codedImage);
// Retrieve holes for all the blobs
for (uint blobIndex = 0; blobIndex < codedImage.GetObjCount(); blobIndex++)
{
ECodedElement blob = codedImage.GetObj(blobIndex);
// Browse the holes of the current object
for (uint holeIndex = 0; holeIndex < blob.HoleCount; holeIndex++)
{
// Retrieve a given hole
ECodedElement hole = blob.GetHole(holeIndex);
}
}
Python¶
import eVision
# Image constructor
src_image = eVision.EImageBW8()
# Image encoder
encoder = eVision.EImageEncoder()
# Coded image
codedImage = eVision.ECodedImage2()
# ...
# Encode the image
encoder.Encode(src_image, codedImage)
# Retrieve holes for all the blobs
for blobIndex in range(codedImage.GetObjCount()):
blob = codedImage.GetObj(blobIndex)
# Browse the holes of the current object
for holeIndex in range(blob.HoleCount):
# Retrieve a given hole
hole = blob.GetHole(holeIndex)