Wednesday, July 3, 2024
HomeLanguagesPhpPHP | Imagick morphology() Function

PHP | Imagick morphology() Function

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

Nicole Veronica Rubhabha
Nicole Veronica Rubhabha
A highly competent and organized individual DotNet developer with a track record of architecting and developing web client-server applications. Recognized as a personable, dedicated performer who demonstrates innovation, communication, and teamwork to ensure quality and timely project completion. Expertise in C#, ASP.Net, MVC, LINQ, EF 6, Web Services, SQL Server, MySql, Web development,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments