The Imagick::morphology() function is an inbuilt function in PHP which is used to apply a user-supplied kernel to the image according to the given morphology method.
Syntax:
bool Imagick::morphology ( $morphologyMethod, $iterations, $ImagickKernel, $channel = Imagick::CHANNEL_DEFAULT)
Parameters: This function accepts four parameters as mentioned above and described below:
- $morphologyMethod: This parameter holds the morphology method to use.
- $iterations: This parameter holds the number of iteration to apply the morphology function.
- $ImagickKernel: This parameter holds the ImagickKernel object.
- $channel: This parameter holds the Imagick channel constants that provide any channel constant which is valid for channel mode. More than one channel can be combined using bitwise operators. Default value is CHANNEL_DEFAULT.
Return Value: This function returns TRUE on success.
Exceptions: This function throws ImagickException on error.
Below programs illustrate the Imagick::morphology() function in PHP:
Program 1:
<?php // Create a new Imagick object $imagick = new Imagick( // Create a ImagickKernel object $kernel = ImagickKernel::fromBuiltIn(Imagick::KERNEL_DIAMOND, "2" ); // Apply the morphology function $imagick ->morphology(Imagick::MORPHOLOGY_CONVOLVE, 2, $kernel ); header( "Content-Type: image/jpg" ); // Display the output image echo $imagick ->getImageBlob(); ?> |
Output:
Program 2:
<?php // Create a new Imagick object $imagick = new Imagick( // Create a ImagickKernel object $kernel = ImagickKernel::fromBuiltIn(Imagick::KERNEL_GAUSSIAN, "1, 2" ); // Apply the morphology function $imagick ->morphology(Imagick::MORPHOLOGY_CONVOLVE, 5, $kernel ); header( "Content-Type: image/jpg" ); // Display the output image echo $imagick ->getImageBlob(); ?> |
Output:
Reference: https://www.php.net/manual/en/imagick.morphology.php