PHP 8.4.2 Released!

Imagick::convolveImage

(PECL imagick 2, PECL imagick 3)

Imagick::convolveImageGörüntüye bir evrişim çekirdeği uygular

Açıklama

public Imagick::convolveImage(array $çekirdek, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüye, özel bir evrişim çekirdeği uygular.

Bağımsız Değişkenler

çekirdek

Evrişim çekirdeği.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::convolveImage() örneği

<?php
function convolveImage($imagePath, $bias, $kernelMatrix) {
$imagick = new \Imagick(realpath($imagePath));
//$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
$imagick->setImageBias($bias * \Imagick::getQuantum());
$imagick->convolveImage($kernelMatrix);
header("Content-Type: image/jpg");
echo
$imagick->getImageBlob();
}

?>

add a note

User Contributed Notes 2 notes

up
0
ahmed at zigzapps dot com
5 years ago
The provided example is wrong. Here's a correct sample:

$matrix = [[1,-1,1],[-1,1,-1],[1,-1,1]];
$kernel = \ImagickKernel::fromMatrix($matrix);

$imagick = new Imagick();
$imagick->readimage($file.'/z.png');
$imagick->convolveImage ($kernel);
$imagick->writeimage('convolve.png');
$imagick->clear();
$imagick->destroy();
up
-1
peter at musicalsaw dot com
11 years ago
Example of convolveImage:

<?php
// run an edge detection filter on an image
$image = new imagick( "diana.png" );
$edgeArray = array(-1,-1,-1,-1,8,-1,-1,-1,-1);
$image->convolveImage ($edgeArray);
$image->thresholdImage(1);
header('Content-type: image/png');
echo
$image;
?>
To Top