La función ImagickKernel::addUnityKernel() es una función incorporada en PHP que se usa para agregar una cantidad determinada del kernel de convolución ‘Unity’ al kernel dado. Esta función se utiliza para convertir los núcleos definidos en desenfoques suaves combinados, núcleos sin nitidez o núcleos de nitidez.
Sintaxis:
bool ImagickKernel::addUnityKernel( float $scale )
Parámetros: Esta función acepta un único parámetro $escala que contiene la escala del kernel de Unity.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickKernel::addUnityKernel() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Create a kernel from matrix $kernel = ImagickKernel::fromMatrix( [[-1, 0, -1], [0, 4, 0], [-1, 0, 0]]); // Add the Unity Kernel $kernel->addUnityKernel(0.7); // Add the filter $imagick->filter($kernel); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a kernel from matrix $kernel = ImagickKernel::fromMatrix( [[-3, 0, -2], [ 3, 4, 2], [-1, 0, -1]]); echo "Before adding unity kernel: <br/>"; print("<pre>".print_r($kernel->getMatrix(), true)."</pre>"); // Add the Unity Kernel $kernel->addUnityKernel(12); echo "After adding unity kernel: <br/>"; print("<pre>".print_r($kernel->getMatrix(), true)."</pre>"); ?>
Producción:
Before adding unity kernel: Array ( [0] => Array ( [0] => -3 [1] => 0 [2] => -2 ) [1] => Array ( [0] => 3 [1] => 4 [2] => 2 ) [2] => Array ( [0] => -1 [1] => 0 [2] => -1 ) ) After adding unity kernel: Array ( [0] => Array ( [0] => -3 [1] => 0 [2] => -2 ) [1] => Array ( [0] => 3 [1] => 16 [2] => 2 ) [2] => Array ( [0] => -1 [1] => 0 [2] => -1 ) )
Referencia: https://www.php.net/manual/en/imagickkernel.addunitykernel.php