当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Imagick compareImageChannels()用法及代码示例


Imagick::compareImageChannels()函数是PHP中的内置函数,用于返回一个或多个图像之间的差异。

用法:

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

参数:此函数接受上述和以下所述的三个参数:


  • $image:此参数保存包含要比较的图像的Imagick对象。
  • $channelType:该参数保存Imagick通道常数,该常数提供对您的通道模式有效的任何通道常数。使用按位运算符组合一个或多个通道常数。单击此处以获取通道常数列表。
  • $metricType:它是一个Metric类型的常量。单击此处以获取度量标准类型常量的列表。

返回值:它返回一个数组new_wand和失真。

错误/异常:发生错误时引发ImagickException。

以下示例程序旨在说明PHP中的Imagick::compareImageChannels()函数:

程序:

      
<?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); 
  
?>

输出:

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

参考: https://www.php.net/manual/en/imagick.compareimagechannels.php



相关用法


注:本文由纯净天空筛选整理自VigneshKannan3大神的英文原创作品 PHP | Imagick compareImageChannels() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。