PHP | Función Imagick getImageDistortion()

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

Sintaxis:

float Imagick::getImageDistortion(Imagick $reference, int $metric)

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

  • $referencia: especifica el objeto Imagick que necesita comparar.
  • $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 (0)
    • imagick::METRIC_MEANABSOLUTEERROR (1)
    • imagick::METRIC_MEANSQUAREERROR (2)
    • imagick::METRIC_PEAKABSOLUTEERROR (3)
    • imagick::METRIC_PEAKSIGNALTONOISERATIO (4)
    • imagick::METRIC_ROOTMEANSQUAREDERROR (5)

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

Valor devuelto: esta función devuelve la métrica de distorsión utilizada en la imagen.

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

Programa 1:

<?php
  
// Create a new imagick object
$imagick1 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
$imagick2 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png');
  
// Get the distortion with METRIC constant
// as imagick::METRIC_ROOTMEANSQUAREDERROR
$distortion = $imagick1->getImageDistortion($imagick2, 5);
  
echo $distortion;
?>

Producción:

0.97254902124405

Programa 2:

<?php
  
// Create a new imagick object
$imagick1 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
$imagick2 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png');
  
// Get the distortion with METRIC constant
// as imagick::METRIC_PEAKSIGNALTONOISERATIO
$distortion = $imagick1->getImageDistortion($imagick2, 4);
  
echo $distortion;
?>

Producción:

0.020707619325613

Programa 3:

<?php
  
// Create a new imagick object
$imagick1 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
$imagick2 = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
// Get the distortion with METRIC constant
// as imagick::METRIC_ROOTMEANSQUAREDERROR
$distortion = $imagick1->getImageDistortion($imagick2, 4);
  
echo $distortion;
?>

Producción:

0 because both images are same.

Referencia: https://www.php.net/manual/en/imagick.getimagedistortion.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 *