在 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 图像

应用了卷积矩阵(锐化滤波器)