PHP | Función Imagick compareImageChannels()

La función Imagick::compareImageChannels() es una función incorporada en PHP que se usa para devolver la diferencia entre una o más imágenes. Sintaxis:

array Imagick::compareImageChannels( Imagick $image, int $channelType, int $metricType )

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

  • $imagen: este parámetro contiene el objeto Imagick que contiene la imagen para comparar.
  • $channelType: este parámetro contiene las constantes de canal de Imagick, lo que proporciona cualquier constante de canal que sea válida para su modo de canal. Utilice el operador bit a bit para combinar una o más constantes de canal. Haga clic aquí para obtener la lista de constantes de canal.
  • $metricType: Es una constante de tipo Métrica. Haga clic aquí para obtener la lista de constantes de tipo de métrica.

Valor devuelto: Devuelve una array de new_wand y distorsión. Errores/Excepciones: Lanza ImagickException mientras ocurre el error. El siguiente programa ilustra la función Imagick::compareImageChannels() en PHP: Programa: 

php

<?php
 
// Store the image path into variables
$imagePath1 =
"https://cdncontribute.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-9.png";
 
$imagePath2 =
"https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png";
 
$imagePath3 =
"https://cdncontribute.geeksforgeeks.org/wp-content/uploads/negateImage.png";
 
// Create new Imagick object
$imagick1 = new \Imagick($imagePath1);
$imagick2 = new \Imagick($imagePath2);
$imagick3 = new \Imagick($imagePath3);
 
// Use compareImageChannels() function to find
// the difference between images
$diff12 = $imagick1->compareImageChannels($imagick2,
        Imagick::CHANNEL_ALL, Imagick::METRIC_MEANABSOLUTEERROR);
 
$diff13 = $imagick1->compareImageChannels($imagick3,
        Imagick::CHANNEL_ALL, Imagick::METRIC_MEANABSOLUTEERROR);
 
// Print the difference in array
print_r($diff12);
print_r($diff13);
 
?>

Producción:

Array ( [0] => Imagick Object ( ) [1] => 0.084920034052215 ) 
Array ( [0] => Imagick Object ( ) [1] => 0.63074787218949 ) 

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

Publicación traducida automáticamente

Artículo escrito por VigneshKannan3 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 *