Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. In effect this adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.
Before adding unity kernel:
-0.250-0.25
010
-0.250-0.25
After adding unity kernel:
-0.250-0.25
01.50
-0.250-0.25
After renormalizing kernel:
-0.50-0.5
030
-0.50-0.5
Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. In effect this adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.
        //Example 1

        $matrix = [
            [-1, 0, -1],
            [0, 4, 0],
            [-1, 0, -1],
        ];

        $kernel = \ImagickKernel::fromMatrix($matrix);
        $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
        $output = "Before adding unity kernel: 
"; $output .= Display::renderKernelTable($kernel->getMatrix()); $kernel->addUnityKernel(0.5); $output .= "After adding unity kernel:
"; $output .= Display::renderKernelTable($kernel->getMatrix()); $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE); $output .= "After renormalizing kernel:
"; $output .= Display::renderKernelTable($kernel->getMatrix()); return $output;
//Example 2

function addUnityKernel($imagePath)
{
    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];

    $kernel = ImagickKernel::fromMatrix($matrix);

    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(0.5);


    $imagick = new \Imagick(realpath($imagePath));
    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();

}