ColorThresholding
Transforms a color image into a binary image.
Access to parameter description
For an introduction:
See also
See related example
Access to parameter description
For an introduction:
- section Image Segmentation
- section Binarization
See also
See related example
Function Syntax
This function returns the outputBinaryImage output parameter.
// Function prototype. std::shared_ptr< iolink::ImageView > colorThresholding( std::shared_ptr< iolink::ImageView > inputColorImage, iolink::Vector2d thresholdRangeRed, iolink::Vector2d thresholdRangeGreen, iolink::Vector2d thresholdRangeBlue, std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
This function returns the outputBinaryImage output parameter.
// Function prototype. color_thresholding( input_color_image, threshold_range_red = [128, 255], threshold_range_green = [128, 255], threshold_range_blue = [128, 255], output_binary_image = None )
This function returns the outputBinaryImage output parameter.
// Function prototype. public static IOLink.ImageView ColorThresholding( IOLink.ImageView inputColorImage, double[] thresholdRangeRed = null, double[] thresholdRangeGreen = null, double[] thresholdRangeBlue = null, IOLink.ImageView outputBinaryImage = null );
Class Syntax
Parameters
Class Name | ColorThresholding |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputColorImage |
The input color image. | Image | Multispectral | nullptr | |
thresholdRangeRed |
The low and high thresholds for the first channel (red for an RGB image). | Vector2d | Any value | {128.f, 255.f} | |
thresholdRangeGreen |
The low and high thresholds for the second channel (green for an RGB image). | Vector2d | Any value | {128.f, 255.f} | |
thresholdRangeBlue |
The low and high thresholds for the third channel (blue for an RGB image). | Vector2d | Any value | {128.f, 255.f} | |
outputBinaryImage |
The output binary image. Its dimensions are forced to the same values as the input. | Image | nullptr |
Object Examples
std::shared_ptr< iolink::ImageView > ateneub = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "ateneub.jpg" ); ColorThresholding colorThresholdingAlgo; colorThresholdingAlgo.setInputColorImage( ateneub ); colorThresholdingAlgo.setThresholdRangeRed( {128.0, 255.0} ); colorThresholdingAlgo.setThresholdRangeGreen( {128.0, 255.0} ); colorThresholdingAlgo.setThresholdRangeBlue( {128.0, 255.0} ); colorThresholdingAlgo.execute(); std::cout << "outputBinaryImage:" << colorThresholdingAlgo.outputBinaryImage()->toString();
ateneub = ioformat.read_image(imagedev_data.get_image_path("ateneub.jpg")) color_thresholding_algo = imagedev.ColorThresholding() color_thresholding_algo.input_color_image = ateneub color_thresholding_algo.threshold_range_red = [128.0, 255.0] color_thresholding_algo.threshold_range_green = [128.0, 255.0] color_thresholding_algo.threshold_range_blue = [128.0, 255.0] color_thresholding_algo.execute() print( "output_binary_image:", str( color_thresholding_algo.output_binary_image ) )
ImageView ateneub = ViewIO.ReadImage( @"Data/images/ateneub.jpg" ); ColorThresholding colorThresholdingAlgo = new ColorThresholding { inputColorImage = ateneub, thresholdRangeRed = new double[]{128.0, 255.0}, thresholdRangeGreen = new double[]{128.0, 255.0}, thresholdRangeBlue = new double[]{128.0, 255.0} }; colorThresholdingAlgo.Execute(); Console.WriteLine( "outputBinaryImage:" + colorThresholdingAlgo.outputBinaryImage.ToString() );
Function Examples
std::shared_ptr< iolink::ImageView > ateneub = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "ateneub.jpg" ); auto result = colorThresholding( ateneub, {128.0, 255.0}, {128.0, 255.0}, {128.0, 255.0} ); std::cout << "outputBinaryImage:" << result->toString();
ateneub = ioformat.read_image(imagedev_data.get_image_path("ateneub.jpg")) result = imagedev.color_thresholding( ateneub, [128.0, 255.0], [128.0, 255.0], [128.0, 255.0] ) print( "output_binary_image:", str( result ) )
ImageView ateneub = ViewIO.ReadImage( @"Data/images/ateneub.jpg" ); IOLink.ImageView result = Processing.ColorThresholding( ateneub, new double[]{128.0, 255.0}, new double[]{128.0, 255.0}, new double[]{128.0, 255.0} ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );