Open In App

PHP | Imagick filter() Function

Last Updated : 25 Jul, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
The Imagick::filter() function is an inbuilt function in PHP which is used to apply custom convolution kernel to the image. A kernel, convolution matrix, or mask is a small matrix. It is used for blur, sharpen, embossing, edge detection, and many more. Syntax:
bool Imagick::filter( $ImagickKernel, $channel = Imagick::CHANNEL_UNDEFINED )
Parameters: This function accepts two parameters as mentioned above and described below:
  • $ImagickKernel: It is a kernel or a linked series of multiple kernels that are used to be apply on the image.
  • $channel: It is a constant that is used on basis of the modes. It is of integer type and the default value of channel is Imagick::CHANNEL_DEFAULT.
Return Value: It returns true when the filter to the image is successfully applied. Below program illustrates the Imagick::filter() function in PHP: Program: php
<?php

// Declare an imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-9.png');

// Declare convolution matrix
$matrix = [
    [-1, 0, -1],
    [0,  5,  0],
    [-1, 0, -1],
];
     
$kernel = \ImagickKernel::fromMatrix($matrix);

$strength = 0.5;

// Scaling the image on kernel
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);

// Use addUnityKernel() function
$kernel->addUnityKernel(1 - $strength);
 
// Use filter() function 
$imagick->filter($kernel);

header("Content-Type: image/jpg");

// Display the output image
echo $imagick->getImageBlob();
?>
Output: Reference: https://www.php.net/manual/en/imagick.filter.php

Next Article

Similar Reads