文字

Imagick::forwardFourierTransformImage

(No version information available, might only be in Git)

Imagick::forwardFourierTransformImageDescription

说明

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.

参数

magnitude

If true, return as magnitude / phase pair otherwise a real / imaginary image pair.

返回值

范例

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 ();
}

?>
上一篇: 下一篇: