如何使用 imageconvolution() 在 PHP 中应用 3×3 卷积矩阵?
imageconvolution() 是 PHP 中的一个内置函数,用于应用 3×3 卷积矩阵,使用图像中的系数和偏移量。
语法
bool imageconvolution ( $image, $matrix, $div, $offset)
参数
imageconvolution() 接受四个参数:$image、$matrix、$div 和 $offset。
$image − 此参数用于使用图像创建函数(例如 imagecreatetruecolor())创建图像大小。
$matrix − 此参数包含一个 3×3 浮点数组矩阵。
$div − 用于归一化。
$offset − 此参数用于设置颜色偏移量。
返回值
如果成功,imageconvolution() 返回 True;如果失败,则返回 False。
示例 1
<?php // load the PNG image by using imagecreatefrompng function. $image = imagecreatefrompng('C:\xampp\htdocs\Images\img59.png'); // Applied the 3X3 array matrix $matrix = array( array(2, 0, 0), array(0, -1, 0), array(0, 0, -1) ); // imageconvolution function to modify image elements imageconvolution($image, $matrix, 1, 127); // show the output image in the browser header('Content-Type: image/png'); imagepng($image, null, 9); ?>
输出
在使用 imageconvolution() 函数之前输入的 PNG 图像
使用 imageconvolution() 函数后输出的 PNG 图像
示例 2
<?php $image = imagecreatetruecolor(700, 300); // Writes the text and apply a gaussian blur on the image imagestring($image, 50, 25, 8, 'Gaussian Blur Text image', 0x00ff00); $gaussian = array( array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0) ); imageconvolution($image, $gaussian, 16, 0); // Rewrites the text for comparison imagestring($image, 15, 20, 18, 'Gaussian Blur Text image', 0x00ff00); header('Content-Type: image/png'); imagepng($image, null, 9); ?>
输出
广告