SelectiveOpening3d
Opens objects of a three-dimensional binary image conditionally to a local constraint.
Access to parameter description
For an introduction:
It can be applied only on binary images. Using a threshold of 1 amounts to applying a standard morphological opening.
This operator is smoother than the classic opening, and softens the appearance of the structuring element in the filtered image.
See also
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Introduction To Opening
It can be applied only on binary images. Using a threshold of 1 amounts to applying a standard morphological opening.
This operator is smoother than the classic opening, and softens the appearance of the structuring element in the filtered image.
See also
Function Syntax
This function returns the outputBinaryImage output parameter.
// Function prototype. std::shared_ptr< iolink::ImageView > selectiveOpening3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, uint32_t numberOfIterations, uint32_t threshold, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns the outputBinaryImage output parameter.
// Function prototype. selective_opening_3d( input_binary_image, number_of_iterations = 3, threshold = 14, output_binary_image = None )
This function returns the outputBinaryImage output parameter.
// Function prototype. public static IOLink.ImageView SelectiveOpening3d( IOLink.ImageView inputBinaryImage, UInt32 numberOfIterations = 3, UInt32 threshold = 14, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | SelectiveOpening3d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | |
numberOfIterations |
The number of iterations. | UInt32 | >=1 | 3 | |
threshold |
The minimum number of neighbors that is required to transform a pixel. | UInt32 | [1, 26] | 14 | |
outputBinaryImage |
The binary output image. Its size and type are forced to the same values as the input. | Image | nullptr |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); SelectiveOpening3d selectiveOpening3dAlgo; selectiveOpening3dAlgo.setInputBinaryImage( foam_sep ); selectiveOpening3dAlgo.setNumberOfIterations( 3 ); selectiveOpening3dAlgo.setThreshold( 14 ); selectiveOpening3dAlgo.execute(); std::cout << "outputBinaryImage:" << selectiveOpening3dAlgo.outputBinaryImage()->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) selective_opening_3d_algo = imagedev.SelectiveOpening3d() selective_opening_3d_algo.input_binary_image = foam_sep selective_opening_3d_algo.number_of_iterations = 3 selective_opening_3d_algo.threshold = 14 selective_opening_3d_algo.execute() print( "output_binary_image:", str( selective_opening_3d_algo.output_binary_image ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); SelectiveOpening3d selectiveOpening3dAlgo = new SelectiveOpening3d { inputBinaryImage = foam_sep, numberOfIterations = 3, threshold = 14 }; selectiveOpening3dAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + selectiveOpening3dAlgo.outputBinaryImage.ToString() );
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = selectiveOpening3d( foam_sep, 3, 14 ); std::cout << "outputBinaryImage:" << result->toString();
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.selective_opening_3d( foam_sep, 3, 14 ) print( "output_binary_image:", str( result ) );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.SelectiveOpening3d( foam_sep, 3, 14 ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );