如何使用 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);
?>

输出

更新于: 2021 年 8 月 9 日

226 查看数

开启你的事业

完成课程获得认证

现在开始
广告