CompareImage
Performs a comparison test between two images and outputs the number of pixels that successfully passed the test.
Access to parameter description
For an introduction:
The proposed comparison criteria are less-than, less-or-equal, equal-to, greater-or-equal, greater-than, and not-equal-to.
Note : CompareImage can be useful to check whether two images are exactly identical. Both images must have same size and type.
See also
Access to parameter description
For an introduction:
- section Image Analysis
- section Image Statistics
The proposed comparison criteria are less-than, less-or-equal, equal-to, greater-or-equal, greater-than, and not-equal-to.
Note : CompareImage can be useful to check whether two images are exactly identical. Both images must have same size and type.
See also
Function Syntax
This function returns outputMeasurement.
// Function prototype
CompareMsr::Ptr compareImage( std::shared_ptr< iolink::ImageView > inputImage1, std::shared_ptr< iolink::ImageView > inputImage2, CompareImage::ComparisonCriterion comparisonCriterion, CompareMsr::Ptr outputMeasurement = nullptr );
This function returns outputMeasurement.
// Function prototype. compare_image(input_image1: idt.ImageType, input_image2: idt.ImageType, comparison_criterion: CompareImage.ComparisonCriterion = CompareImage.ComparisonCriterion.NOT_EQUAL_TO, output_measurement: Union[Any, None] = None) -> CompareMsr
This function returns outputMeasurement.
// Function prototype. public static CompareMsr CompareImage( IOLink.ImageView inputImage1, IOLink.ImageView inputImage2, CompareImage.ComparisonCriterion comparisonCriterion = ImageDev.CompareImage.ComparisonCriterion.NOT_EQUAL_TO, CompareMsr outputMeasurement = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
inputImage1 |
The first input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |||||||||||||
inputImage2 |
The second input image. Its dimensions and type must be the same as the first input. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |||||||||||||
comparisonCriterion |
The comparison test to perform between images.
|
Enumeration | NOT_EQUAL_TO | ||||||||||||||
outputMeasurement |
The output measurement result. | CompareMsr | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
input_image1 |
The first input image. | image | Binary, Label, Grayscale or Multispectral | None | |||||||||||||
input_image2 |
The second input image. Its dimensions and type must be the same as the first input. | image | Binary, Label, Grayscale or Multispectral | None | |||||||||||||
comparison_criterion |
The comparison test to perform between images.
|
enumeration | NOT_EQUAL_TO | ||||||||||||||
output_measurement |
The output measurement result. | CompareMsr | None |
Parameter Name | Description | Type | Supported Values | Default Value | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
inputImage1 |
The first input image. | Image | Binary, Label, Grayscale or Multispectral | null | |||||||||||||
inputImage2 |
The second input image. Its dimensions and type must be the same as the first input. | Image | Binary, Label, Grayscale or Multispectral | null | |||||||||||||
comparisonCriterion |
The comparison test to perform between images.
|
Enumeration | NOT_EQUAL_TO | ||||||||||||||
outputMeasurement |
The output measurement result. | CompareMsr | null |
Object Examples
auto polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); CompareImage compareImageAlgo; compareImageAlgo.setInputImage1( polystyrene ); compareImageAlgo.setInputImage2( polystyrene ); compareImageAlgo.setComparisonCriterion( CompareImage::ComparisonCriterion::NOT_EQUAL_TO ); compareImageAlgo.execute(); std::cout << "pixelCount: " << compareImageAlgo.outputMeasurement()->pixelCount( 0 , 0 ) ;
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) compare_image_algo = imagedev.CompareImage() compare_image_algo.input_image1 = polystyrene compare_image_algo.input_image2 = polystyrene compare_image_algo.comparison_criterion = imagedev.CompareImage.NOT_EQUAL_TO compare_image_algo.execute() print("pixelCount: ", str(compare_image_algo.output_measurement.pixel_count(0, 0)))
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); CompareImage compareImageAlgo = new CompareImage { inputImage1 = polystyrene, inputImage2 = polystyrene, comparisonCriterion = CompareImage.ComparisonCriterion.NOT_EQUAL_TO }; compareImageAlgo.Execute(); Console.WriteLine( "pixelCount: " + compareImageAlgo.outputMeasurement.pixelCount( 0 , 0 ) );
Function Examples
auto polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = compareImage( polystyrene, polystyrene, CompareImage::ComparisonCriterion::NOT_EQUAL_TO ); std::cout << "pixelCount: " << result->pixelCount( 0 , 0 ) ;
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) result = imagedev.compare_image(polystyrene, polystyrene, imagedev.CompareImage.NOT_EQUAL_TO) print("pixelCount: ", str(result.pixel_count(0, 0)))
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); CompareMsr result = Processing.CompareImage( polystyrene, polystyrene, CompareImage.ComparisonCriterion.NOT_EQUAL_TO ); Console.WriteLine( "pixelCount: " + result.pixelCount( 0 , 0 ) );