Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP에서 imageconvolution()을 사용하여 3×3 회선 행렬을 적용하는 방법은 무엇입니까?

<시간/>

이미지 컨볼루션() 이미지의 계수와 오프셋을 사용하여 3x3 합성곱 행렬을 적용하는 데 사용되는 PHP의 내장 함수입니다.

구문

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

매개변수

이미지 컨볼루션() $image, $matrix, $div 및 $offset의 네 가지 매개변수를 사용합니다.

  • $이미지 − imagecreatetruecolor()와 같은 이미지 생성 함수를 이용하여 이미지의 크기를 생성할 때 사용하는 파라미터입니다.

  • $매트릭스 − 이 매개변수는 3×3 부동 소수점 행렬의 배열을 포함합니다.

  • $div − 정규화에 사용됩니다.

  • $offset − 이 매개변수는 색상 오프셋을 설정하는 데 사용됩니다.

반환 값

이미지 컨볼루션() 성공하면 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 이미지 입력

PHP에서 imageconvolution()을 사용하여 3×3 회선 행렬을 적용하는 방법은 무엇입니까?

imageconvolution() 함수 사용 후 PNG 이미지 출력

PHP에서 imageconvolution()을 사용하여 3×3 회선 행렬을 적용하는 방법은 무엇입니까?

예시 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);
?>

출력

PHP에서 imageconvolution()을 사용하여 3×3 회선 행렬을 적용하는 방법은 무엇입니까?