Imagick::forwardFourierTransformImage
(No version information available, might only be in Git)
Imagick::forwardFourierTransformImage — Description
Description
public void Imagick::forwardFourierTransformimage ( bool $magnitude )
Implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.
Parameters
magnitude
If true, return as magnitude / phase pair otherwise a real / imaginary image pair.
Return Values
Examples
Example #1 Imagick::forwardFourierTransformImage()
<?php
//Utility?function?for?forwardTransformImage
function?createMask()?{
????$draw?=?new?\ImagickDraw();
????$draw->setStrokeOpacity(0);
????$draw->setStrokeColor('rgb(255,?255,?255)');
????$draw->setFillColor('rgb(255,?255,?255)');
????//Draw?a?circle?on?the?y-axis,?with?it's?centre
????//at?x,?y?that?touches?the?origin
????$draw->circle(250,?250,?220,?250);
????$imagick?=?new?\Imagick();
????$imagick->newImage(512,?512,?"black");
????$imagick->drawImage($draw);
????$imagick->gaussianBlurImage(20,?20);
????$imagick->autoLevelImage();
????return?$imagick;
}
function?forwardFourierTransformImage($imagePath)?{
????$imagick?=?new?\Imagick(realpath($imagePath));
????$imagick->resizeimage(512,?512,?\Imagick::FILTER_LANCZOS,?1);
????$mask?=?createMask();
????$imagick->forwardFourierTransformImage(true);
????@$imagick->setimageindex(0);
????$magnitude?=?$imagick->getimage();
????@$imagick->setimageindex(1);
????$imagickPhase?=?$imagick->getimage();
????if?(true)?{
????????$imagickPhase->compositeImage($mask,?\Imagick::COMPOSITE_MULTIPLY,?0,?0);
????}
????if?(false)?{
????????$output?=?clone?$imagickPhase;
????????$output->setimageformat('png');
????????header("Content-Type:?image/png");
????????echo?$output->getImageBlob();
????}
????$magnitude->inverseFourierTransformImage($imagickPhase,?true);
????$magnitude->setimageformat('png');
????header("Content-Type:?image/png");
????echo?$magnitude->getImageBlob();
}
?>
← Imagick::flopImage
Imagick::frameImage →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com