ObjectCount
Computes the number of objects in a binary or label image.
Access to parameter description
For an introduction: section Image Analysis.
If the input is a binary image, it is first labeled by connected component and the maximum label value is returned as number of objects. If the input is a label image, the number of objects is equal to the maximum grey level value of the input image.
See also
See related examples
Access to parameter description
For an introduction: section Image Analysis.
If the input is a binary image, it is first labeled by connected component and the maximum label value is returned as number of objects. If the input is a label image, the number of objects is equal to the maximum grey level value of the input image.
See also
See related examples
Function Syntax
This function returns a ObjectCountOutput structure containing outputLabelImage and outputMeasurement.
// Output structure of the objectCount function.
struct ObjectCountOutput
{
/// The label output image.
std::shared_ptr< iolink::ImageView > outputLabelImage;
/// The output measurement result.
ObjectCountMsr::Ptr outputMeasurement;
};
// Function prototype
ObjectCountOutput
objectCount( std::shared_ptr< iolink::ImageView > inputObjectImage,
std::shared_ptr< iolink::ImageView > outputLabelImage = NULL,
ObjectCountMsr::Ptr outputMeasurement = NULL );
This function returns a tuple containing output_label_image and output_measurement.
// Function prototype. object_count( input_object_image, output_label_image = None, output_measurement = None )
This function returns a ObjectCountOutput structure containing outputLabelImage and outputMeasurement.
/// Output structure of the ObjectCount function.
public struct ObjectCountOutput
{
/// The label output image.
public IOLink.ImageView outputLabelImage;
/// The output measurement result.
public ObjectCountMsr outputMeasurement;
};
// Function prototype.
public static ObjectCountOutput
ObjectCount( IOLink.ImageView inputObjectImage,
IOLink.ImageView outputLabelImage = null,
ObjectCountMsr outputMeasurement = null );
Class Syntax
Parameters
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
inputObjectImage |
The binary or label input image. | Image | Binary or Label | nullptr |
![]() |
outputLabelImage |
The label output image. | Image | nullptr | |
![]() |
outputMeasurement |
The output measurement result. | ObjectCountMsr | nullptr | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
input_object_image |
The binary or label input image. | image | Binary or Label | None |
![]() |
output_label_image |
The label output image. | image | None | |
![]() |
output_measurement |
The output measurement result. | ObjectCountMsr | None | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
inputObjectImage |
The binary or label input image. | Image | Binary or Label | null |
![]() |
outputLabelImage |
The label output image. | Image | null | |
![]() |
outputMeasurement |
The output measurement result. | ObjectCountMsr | null | |
Object Examples
auto polystyrene_sep_label = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep_label.vip" ); ObjectCount objectCountAlgo; objectCountAlgo.setInputObjectImage( polystyrene_sep_label ); objectCountAlgo.execute(); std::cout << "outputLabelImage:" << objectCountAlgo.outputLabelImage()->toString(); std::cout << "count: " << objectCountAlgo.outputMeasurement()->count( 0 ) ;
polystyrene_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep_label.vip"))
object_count_algo = imagedev.ObjectCount()
object_count_algo.input_object_image = polystyrene_sep_label
object_count_algo.execute()
print( "output_label_image:", str( object_count_algo.output_label_image ) )
print( "count: ", str( object_count_algo.output_measurement.count( 0 ) ) )
ImageView polystyrene_sep_label = Data.ReadVipImage( @"Data/images/polystyrene_sep_label.vip" );
ObjectCount objectCountAlgo = new ObjectCount
{
inputObjectImage = polystyrene_sep_label
};
objectCountAlgo.Execute();
Console.WriteLine( "outputLabelImage:" + objectCountAlgo.outputLabelImage.ToString() );
Console.WriteLine( "count: " + objectCountAlgo.outputMeasurement.count( 0 ) );
Function Examples
auto polystyrene_sep_label = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep_label.vip" ); auto result = objectCount( polystyrene_sep_label ); std::cout << "outputLabelImage:" << result.outputLabelImage->toString(); std::cout << "count: " << result.outputMeasurement->count( 0 ) ;
polystyrene_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep_label.vip"))
result_output_label_image, result_output_measurement = imagedev.object_count( polystyrene_sep_label )
print( "output_label_image:", str( result_output_label_image ) )
print( "count: ", str( result_output_measurement.count( 0 ) ) )
ImageView polystyrene_sep_label = Data.ReadVipImage( @"Data/images/polystyrene_sep_label.vip" ); Processing.ObjectCountOutput result = Processing.ObjectCount( polystyrene_sep_label ); Console.WriteLine( "outputLabelImage:" + result.outputLabelImage.ToString() ); Console.WriteLine( "count: " + result.outputMeasurement.count( 0 ) );

