函数名: ImagickKernel::separate()
适用版本: Imagick 3.0.0 及以上版本
用法: ImagickKernel::separate() 方法用于将图像内核分离为多个独立的内核。它可以用于创建多个具有不同属性的内核,以便在图像处理中使用。
语法: public ImagickKernel ImagickKernel::separate ( void )
返回值: 返回一个新的 ImagickKernel 对象,其中包含分离后的内核。
示例:
// 创建一个 3x3 的图像内核
$kernel = ImagickKernel::fromMatrix([
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1]
]);
// 分离内核为两个独立的内核
$separatedKernel = $kernel->separate();
// 打印第一个分离后的内核
print_r($separatedKernel[0]->getMatrix());
// 打印第二个分离后的内核
print_r($separatedKernel[1]->getMatrix());
输出:
Array
(
[0] => Array
(
[0] => -1
[1] => -2
[2] => -1
)
[1] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[2] => Array
(
[0] => 1
[1] => 2
[2] => 1
)
)
Array
(
[0] => Array
(
[0] => -1
[1] => 0
[2] => 1
)
[1] => Array
(
[0] => -2
[1] => 0
[2] => 2
)
[2] => Array
(
[0] => -1
[1] => 0
[2] => 1
)
)
以上示例演示了如何使用 ImagickKernel::separate() 方法将一个 3x3 的图像内核分离为两个独立的内核。每个分离后的内核都是一个新的 ImagickKernel 对象,可以使用 getMatrix() 方法获取其内核矩阵。