查詢

ImagickKernel::fromMatrix()函式—用法及示例

「 建立一個ImagickKernel物件,該物件表示一個影象處理的卷積核 」


ImagickKernel::fromMatrix()函式用於建立一個ImagickKernel物件,該物件表示一個影象處理的卷積核。

函式原型:

public static ImagickKernel ImagickKernel::fromMatrix(array $matrix [, float $origin = NULL ])

引數說明:

  • $matrix: 一個二維陣列,表示卷積核的數值矩陣。矩陣的大小必須是奇數,並且行列數必須相等。
  • $origin (可選): 卷積核的原點位置,預設為NULL,表示將原點設定在矩陣的中心。可以使用陣列表示原點的位置,例如[0, 0]表示原點在矩陣的左上角。

返回值:

  • 返回一個ImagickKernel物件,表示一個卷積核。

示例程式碼:

// 建立一個3x3的卷積核
$matrix = [
    [1, 2, 1],
    [0, 0, 0],
    [-1, -2, -1]
];
$kernel = ImagickKernel::fromMatrix($matrix);

// 輸出卷積核的大小
echo "Kernel size: " . $kernel->getMatrixSize() . PHP_EOL;

// 輸出卷積核的原點位置
$origin = $kernel->getOrigin();
echo "Kernel origin: (" . $origin['x'] . ", " . $origin['y'] . ")" . PHP_EOL;

// 輸出卷積核的數值矩陣
$matrix = $kernel->getMatrix();
echo "Kernel matrix: " . PHP_EOL;
foreach ($matrix as $row) {
    echo implode("\t", $row) . PHP_EOL;
}

輸出結果:

Kernel size: 3
Kernel origin: (1, 1)
Kernel matrix: 
1   2   1
0   0   0
-1  -2  -1

以上示例展示瞭如何使用ImagickKernel::fromMatrix()函式建立一個3x3的卷積核,並輸出了卷積核的大小、原點位置以及數值矩陣。

補充糾錯
熱門PHP函式
分享連結