在 PHP 中使用线性滤镜锐化图像
Sharpen an image with a linear filter in PHP
我想读取图像并使用线性滤波器对其进行锐化,也就是这个矩阵:
H = [-0.5 -0.5 -0.5; -0.5 5 -0.5; -0.5 -0.5 -0.5]
我知道 ImageMagick,是否有可能做到这一点?
您要做的是对图像应用卷积滤镜,为此您可以使用 PHP 的内置 imageconvolution()
php.net 函数。
有关用法,请参阅 Magilvia 上 php.net 的示例,根据您的目的修改:
<?php
$sharpenMatrix = array
(
array(-0.5, -0.5, -0.5),
array(-0.5, 5, -0.5),
array(-0.5, -0.5, -0.5)
);
// calculate the sharpen divisor
$divisor = array_sum(array_map('array_sum', $sharpenMatrix));
$offset = 0;
// apply the matrix
imageconvolution($img, $sharpenMatrix, $divisor, $offset);
?>
$img
是 PHP 图像