ImageMagick 函数 'getImageChannelStatistics' 返回一个数组数组。第一个数组的键具有设置为 0、1、2、4、8 和 32 的值。这些数组中的每一个反过来又具有五个值,即平均值、最小值、最大值、标准差和深度。数组的示例 print_r 产生...
数组
(
[0] => 数组
(
[mean] => 0
[minima] => 1.0E+37
[maxima] => -1.0E-37
[standardDeviation] => 0
[depth] => 1
)
[1] => 数组
(
[mean] => 13215.2836185
[minima] => 0
[maxima] => 65535
[standardDeviation] => 19099.2202751
[depth] => 8
)
[等等,等等..]
}
键的每个 0、1、2 等值代表什么?这些是 ImageMagick 通道常量的共享、计算值。您拥有类似于 imagick::CHANNEL_UNDEFINED 的通道常数值,其 "_VALUE" 值为:undefined、red、gray、cyan、green、magenta、blue、yellow、alpha、opacity、matte、black、index、all 和 default。如果您实际打印出这些常量,您将获得 '0' 代表 undefined,'1' 代表 red、gray 和 cyan,'2' 代表 green 和 magenta,'4' 代表 blue 和 yellow,'8' 代表 alpha、opacity 和 matte,或 '32' 代表 black 和 index。为什么多个通道共享相同的计算整数值?这是因为它们是来自不同颜色空间的颜色,其中 Red/Green/Blue 是 RGB 光谱,Cyan/Magenta/Yellow/blacK 是 CMYK 光谱,等等,等等。如果您想要获得 Cyan 或 Red 的统计结果值,您将访问相同的通道键。
每个颜色通道会产生五个值。键 'mean' 和 'standardDeviation' 的元素值是 getImageChannelMean 函数的结果。键 'minima' 和 'maxima' 的元素值是 getChannelRange 函数的结果。而键 'depth' 的元素值是 getImageChannelDepth 函数的结果。所有这些值在测量特定图像的通道值方面都很有用。
现在,一些示例代码
<?php
$imagick_type = new Imagick();
$file_to_grab_with_location = "image_workshop_directory/test.bmp";
$file_handle_for_viewing_image_file = fopen($file_to_grab_with_location, 'a+');
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
$imagick_type_channel_statistics = $imagick_type->getImageChannelStatistics();
print_r($imagick_type_channel_statistics);
?>