Image Segmenter

Functional Guide | Reference: SetSegmentationMethod, GetGrayscaleDoubleThresholdSegmenter, SetHighThreshold, SetLowThreshold

//////////////////////////////////////////////////////////////
// This code snippet shows how to build blobs according to  //
// a user-defined image segmenter.                          //
//////////////////////////////////////////////////////////////

// Image constructor
EImageBW8 srcImage;

// Image encoder
EImageEncoder encoder;

// Coded image
ECodedImage2 codedImage;

// ...

// Set the segmentation method to GrayscaleDoubleThreshold
encoder.SetSegmentationMethod(ESegmentationMethod_GrayscaleDoubleThreshold);

// Retrieve the segmenter object
Segmenters::EGrayscaleDoubleThresholdSegmenter& segmenter= encoder.GetGrayscaleDoubleThresholdSegmenter();

// Set the high and low threshold values
segmenter.SetHighThreshold(150);
segmenter.SetLowThreshold(50);

// Specify the layers to be encoded (neutral layer only)
segmenter.SetBlackLayerEncoded(false);
segmenter.SetNeutralLayerEncoded(true);
segmenter.SetWhiteLayerEncoded(false);

// Encode the image
encoder.Encode(srcImage, codedImage);
//////////////////////////////////////////////////////////////
// This code snippet shows how to build blobs according to  //
// a user-defined image segmenter.                          //
//////////////////////////////////////////////////////////////

// Image constructor
EImageBW8 srcImage= new EImageBW8();

// Image encoder
EImageEncoder encoder= new EImageEncoder();

// Coded image
ECodedImage2 codedImage= new ECodedImage2();

// ...

// Set the segmentation method to GrayscaleDoubleThreshold
encoder.SegmentationMethod= ESegmentationMethod.GrayscaleDoubleThreshold;

// Retrieve the segmenter object
Euresys.Open_eVision_1_1.Segmenters.EGrayscaleDoubleThresholdSegmenter segmenter= encoder.GrayscaleDoubleThresholdSegmenter;

// Set the high and low threshold values
segmenter.HighThreshold= 150;
segmenter.LowThreshold= 50;

// Specify the layers to be encoded (neutral layer only)
segmenter.BlackLayerEncoded= false;
segmenter.NeutralLayerEncoded= true;
segmenter.WhiteLayerEncoded= false;

// Encode the image
encoder.Encode(srcImage, codedImage);