Syntax:array Imagick::compareImageChannels (Imagick $image, int $channelType, int $metricType)
Parameters:This function takes three parameters as above and described below: - $image:this parameter contains the Imagick object that contains the image to compare.
- $channelType:this parameter contains the Imagick channel constants, which provide any channel constant that suits your channel mode. Use the bitwise operator to combine one or more channel constants. Click here for a list of channel constants
- $metricType:are constants of type Metric. Click here for a list of metric constants type.
Return value:returns an array of new_wand and distortion.Errors / Exceptions:Returns exceptionImagickException on error.The following program illustrates the Imagick::compareImageChannels() function in PHP:Program:
// Save the path to the image in variables
$imagePath1
=
" https://cdncontribute.engineerforengineer.org/wp-content/uploads/engineerforengineer-9.png "
;
$imagePath2
=
" https://www.engineerforengineer.org/wp-content/uploads/gfg_200X200.png "
;
$imagePath3
=
" https://cdncontribute.engineerforengineer.org/wp-content/uploads/negateImage.png "
;
// Create a new Imagick object
$imagick1
=
new
Imagick (
$imagePath1
);
$imagick2
=
new
Imagick (
$imagePath2
);
$imagick3
=
new
Imagick (
$imagePath3
);
// Use the CompareImageChannels() function to find
// difference between images
$diff12
=
$imagick1
-> compareImageChannels (
$imagick2
,
Imagick::CHANNEL_ALL, Imagick::METRIC_MEANABSOLUTEERROR );
$diff13
=
$imagick1
-> compareImageChannels (
$imagick3
,
Imagick::CHANNEL_ALL, Imagick::METRIC_MEANABSOLUTEERROR);
// Print the difference in the array
print_r (
$diff12
);
print_r (
$diff13
);
?>
Output:Array ([0] = > Imagick Object() [1] = > 0.084920034052215) Array ([0] = > Imagick Object() [1] = > 0.63074787218949)
Link: https://www.php.net/ manual / en / imagick.compareimagechannels.php