(PECL imagick >= 3.3.0)
ImagickKernel::addUnityKernel — Добавляет ядро Unity в список ядер
Добавляет указанное количество свёрточного ядра 'Unity' к указанному предварительно масштабированному и нормализованному ядру. Это фактически добавляет то количество исходного изображения в получающееся ядро свёртки. В результате получается преобразование определённых ядер в смешанные мягкие пятна, нерезкие ядра или в заострённые ядра.
Сигнатура функции не содержит параметров.
Пример #1 Пример использования ImagickKernel::addUnityKernel()
<?php
    function renderKernelTable($matrix) {
        $output = "<table class='infoTable'>";
        foreach ($matrix as $row) {
            $output .= "<tr>";
            foreach ($row as $cell) {
                $output .= "<td style='text-align:left'>";
                if ($cell === false) {
                    $output .= "false";
                }
                else {
                    $output .= round($cell, 3);
                }
                $output .= "</td>";
            }
            $output .= "</tr>";
        }
        $output .= "</table>";
        return $output;
    }
    $matrix = [
        [-1, 0, -1],
        [ 0, 4,  0],
        [-1, 0, -1],
    ];
    $kernel = \ImagickKernel::fromMatrix($matrix);
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output = "Перед добавлением unity ядра: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());
    $kernel->addUnityKernel(0.5);
    $output .= "После добавления unity ядра: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());
    $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
    $output .= "После перенормировки ядра: <br/>";
    $output .= renderKernelTable($kernel->getMatrix());
    echo $output;
?>Пример #2 Пример использования ImagickKernel::addUnityKernel()
<?php
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();
}
?>