FloodFillThreshold3d
Transforms a grayscale three-dimensional image into a binary image by performing a region growing from a seed.
Access to parameter description
For an introduction:
The input range is specified with the thresholdRange parameter.
This algorithm can be used to implement, for instance, an interactive magic wand tool.
See also
Access to parameter description
For an introduction:
- section Image Segmentation
The input range is specified with the thresholdRange parameter.
This algorithm can be used to implement, for instance, an interactive magic wand tool.
See also
Function Syntax
This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > floodFillThreshold3d( std::shared_ptr< iolink::ImageView > inputImage, iolink::Vector3i32 seedPoint, iolink::Vector2d thresholdRange, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns outputBinaryImage.
// Function prototype. flood_fill_threshold_3d( input_image, seed_point = [1, 1, 1], threshold_range = [128, 255], output_binary_image = None )
This function returns outputBinaryImage.
// Function prototype. public static IOLink.ImageView FloodFillThreshold3d( IOLink.ImageView inputImage, int[] seedPoint = null, double[] thresholdRange = null, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | FloodFillThreshold3d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The input grayscale image. | Image | Binary, Label or Grayscale | nullptr | |
seedPoint |
The seed point coordinates. | Vector3i32 | >=0 | {1, 1, 1} | |
thresholdRange |
The low and high threshold levels defining the input range. | Vector2d | Any value | {128.f, 255.f} | |
outputBinaryImage |
The output binary image. Its dimensions are forced to the same values as the input image. | Image | nullptr |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); FloodFillThreshold3d floodFillThreshold3dAlgo; floodFillThreshold3dAlgo.setInputImage( foam ); floodFillThreshold3dAlgo.setSeedPoint( {1, 1, 1} ); floodFillThreshold3dAlgo.setThresholdRange( {128.0, 255.0} ); floodFillThreshold3dAlgo.execute(); std::cout << "outputBinaryImage:" << floodFillThreshold3dAlgo.outputBinaryImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) flood_fill_threshold_3d_algo = imagedev.FloodFillThreshold3d() flood_fill_threshold_3d_algo.input_image = foam flood_fill_threshold_3d_algo.seed_point = [1, 1, 1] flood_fill_threshold_3d_algo.threshold_range = [128.0, 255.0] flood_fill_threshold_3d_algo.execute() print( "output_binary_image:", str( flood_fill_threshold_3d_algo.output_binary_image ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); FloodFillThreshold3d floodFillThreshold3dAlgo = new FloodFillThreshold3d { inputImage = foam, seedPoint = new int[]{1, 1, 1}, thresholdRange = new double[]{128.0, 255.0} }; floodFillThreshold3dAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + floodFillThreshold3dAlgo.outputBinaryImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto result = floodFillThreshold3d( foam, {1, 1, 1}, {128.0, 255.0} ); std::cout << "outputBinaryImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) result = imagedev.flood_fill_threshold_3d( foam, [1, 1, 1], [128.0, 255.0] ) print( "output_binary_image:", str( result ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); IOLink.ImageView result = Processing.FloodFillThreshold3d( foam, new int[]{1, 1, 1}, new double[]{128.0, 255.0} ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );