Добавляет ядро Unity в список ядер

# ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernel — Добавляет ядро Unity в список ядер

### Описание

public function ImagickKernel::addUnityKernel(float `$scale`): void

Добавляет указанное количество свёрточного ядра '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();

    }

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open