當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。