Computer >> Máy Tính >  >> Lập trình >> PHP

Làm thế nào để áp dụng ma trận tích chập 3 × 3 bằng cách sử dụng phương pháp imageeconvolution () trong PHP?

imageeconvolution () là một hàm có sẵn trong PHP được sử dụng để áp dụng ma trận tích chập 3 × 3, sử dụng hệ số và độ lệch trong hình ảnh.

Cú pháp

bool imageconvolution ( $image, $matrix, $div, $offset)

Tham số

imageeconvolution () nhận bốn tham số:$ image, $ matrix, $ div và $ offset.

  • $ hình ảnh - Tham số này được sử dụng để tạo kích thước của hình ảnh bằng cách sử dụng một chức năng tạo hình ảnh chẳng hạn như imageecreatetruecolor ().

  • $ ma trận - Tham số này chứa một mảng 3 × 3 ma trận float.

  • $ div - Nó được sử dụng để chuẩn hóa.

  • $ bù đắp - Tham số này được sử dụng để đặt độ lệch màu.

Giá trị trả lại

imageeconvolution () trả về Đúng khi thành công và Sai khi thất bại.

Ví dụ 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);
?>

Đầu ra

Nhập hình ảnh PNG trước khi sử dụng hàm imageseconvolution ()

Làm thế nào để áp dụng ma trận tích chập 3 × 3 bằng cách sử dụng phương pháp imageeconvolution () trong PHP?

Xuất hình ảnh PNG sau khi sử dụng hàm imageseconvolution ()

Làm thế nào để áp dụng ma trận tích chập 3 × 3 bằng cách sử dụng phương pháp imageeconvolution () trong PHP?

Ví dụ 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);
?>

Đầu ra

Làm thế nào để áp dụng ma trận tích chập 3 × 3 bằng cách sử dụng phương pháp imageeconvolution () trong PHP?