The ImagickPixel::getColorCount() function is an inbuilt function in PHP which is used to get the color count associated with the pixel color. A color count is the number of pixels in the image that have the same color as this ImagickPixel. getColorCount() appears to only work for ImagickPixel objects created through getImageHistogram().
Syntax:
int ImagickPixel::getColorCount( void ) : int
Parameters: This function doesn’t accepts any parameter.
Return Value: This function returns an integer containing the color count.
Exceptions: This function throws ImagickException on error.
Below given programs illustrate the ImagickPixel::getColorCount() function in PHP:
Program 1:
<?php // Create a new imagick object $imagick = new Imagick( // Get the image histogram $histogramElements = $imagick ->getImageHistogram(); // Get the last index $lastIndex = count ( $histogramElements ) - 1; // Get the element from array which is // a ImagickPixel object $lastColor = $histogramElements [ $lastIndex ]; // Get the Color count echo $lastColor ->getColorCount(); ?> |
Output:
18
Program 2:
<?php // Create a new imagick object $imagick = new Imagick( // Get the image histogram $histogramElements = $imagick ->getImageHistogram(); // Get the element from array which is // a ImagickPixel object $lastColor = $histogramElements [0]; // Get the Color count echo $lastColor ->getColorCount(); ?> |
Output:
1
Program 3:
<?php // Create a new imagick object $imagick = new Imagick( // Get the image histogram $histogramElements = $imagick ->getImageHistogram(); // Get the element from array which is // a ImagickPixel object $firstColor = $histogramElements [0]; // Set the Color count $firstColor ->setColorCount(20); // Get the Color count echo $firstColor ->getColorCount(); ?> |
Output:
20
Program 3:
<?php // Create a new imagick object $imagick = new Imagick( // Get the image histogram $histogramElements = $imagick ->getImageHistogram(); // Get the whole color stats echo "R G B Hue :Count<br>" ; foreach ( $histogramElements as $pixel ) { $colors = $pixel ->getColor(); foreach ( $colors as $color ) { print ( $color . " " ); } print ( ":" . $pixel ->getColorCount() . "<br>" ); } ?> |
Output:
R G B Hue :Count 0 22 35 1 :1 0 25 37 1 :1 0 24 37 1 :1 0 31 43 1 :1 0 32 44 1 :1 0 33 45 1 :1 0 37 49 1 :3 . . .
Reference: https://www.php.net/manual/en/imagickpixel.getcolorcount.php