ImagickKernel::separate

(PECL imagick >= 3.3.0)
Description
public array ImagickKernel::separate ( void )

Separates a linked set of kernels and returns an array of ImagickKernels.

Returns:
Examples:
ImagickKernel::separate()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?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(4, \Imagick::NORMALIZE_KERNEL_VALUE);
    $diamondKernel = \ImagickKernel::fromBuiltIn(
        \Imagick::KERNEL_DIAMOND,
        "2"
    );
 
    $kernel->addKernel($diamondKernel);
     
    $kernelList $kernel->separate();
     
    $output '';
    $count = 0;
    foreach ($kernelList as $kernel) {
        $output .= "<br/>Kernel $count<br/>";
        $output .= renderKernelTable($kernel->getMatrix());
        $count++;
    }
 
    return $output;
 
?>
doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.