PHP | Función Imagick getImageChannelDistortion()

La función Imagick::getImageChannelDistortion() es una función incorporada en PHP que se usa para comparar los canales de imagen de una imagen con una imagen reconstruida y devuelve la métrica de distorsión especificada.

Sintaxis:

float Imagick::getImageChannelDistortion( Imagick $reference,
                                  int $channel, int $metric )

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • referencia: Especifica el objeto Imagick con el que comparar.
  • canal: Especifica la constante de canal que es válida para su modo de canal. Para aplicar más de un canal, combine las constantes de tipo de canal usando operadores bit a bit.
  • métrica: Especifica una de las constantes de tipo métrica. La lista de constantes MÉTRICAS se proporciona a continuación:
    • imagick::METRIC_UNDEFINED (entero)
    • imagick::METRIC_MEANABSOLUTEERROR (entero)
    • imagick::METRIC_MEANSQUAREERROR (entero)
    • imagick::METRIC_PEAKABSOLUTEERROR (entero)
    • imagick::METRIC_PEAKSIGNALTONOISERATIO (entero)
    • imagick::METRIC_ROOTMEANSQUAREDERROR (entero)

Excepciones: esta función lanza ImagickException en caso de error.

Valor de retorno: esta función devuelve VERDADERO en caso de éxito.

Los siguientes programas ilustran la función Imagick::getImageChannelDistortion() en PHP:

Programa 1:

<?php
  
// Create two new imagick object
$imagick1 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190823154611/geeksforgeeks24.png');
$imagick2 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20191112223241/trans9.png');
  
// Get the distortion with METRIC constant as imagick::METRIC_MEANABSOLUTEERROR
$distortion = $imagick1->getImageChannelDistortion($imagick2, 0, 1);
echo $distortion;
?>

Producción:

122728

Programa 2:

<?php
  
// Create two new imagick object
$imagick1 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190823154611/geeksforgeeks24.png');
$imagick2 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190823154611/geeksforgeeks24.png');
  
// Get the distortion with METRIC constant
// as imagick::METRIC_MEANABSOLUTEERROR
$distortion = $imagick1->getImageChannelDistortion($imagick2, 0, 1);
echo $distortion;
?>

Producción:

0

Nota: En el segundo ejemplo, la salida es 0 porque ambas imágenes son iguales.

Referencia: https://www.php.net/manual/en/imagick.getimagechanneldistortion.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *