函数名称: Imagick::getImageChannelStatistics()
适用版本: Imagick 2.0.0及以上版本
函数描述: 该函数用于获取图像每个通道的统计信息,包括像素数目、像素的最小值、最大值、平均值、标准差等。
语法: public Imagick::getImageChannelStatistics ( void ) : array
参数:
- 无需传入参数
返回值: 返回一个包含各个通道统计信息的关联数组。
示例:
// 创建Imagick对象
$image = new Imagick('image.jpg');
// 获取图像每个通道的统计信息
$statistics = $image->getImageChannelStatistics();
// 遍历统计信息数组
foreach ($statistics as $channel => $stats) {
echo "Channel: $channel\n";
echo "Pixel Count: " . $stats['count'] . "\n";
echo "Minimum Value: " . $stats['min'] . "\n";
echo "Maximum Value: " . $stats['max'] . "\n";
echo "Mean Value: " . $stats['mean'] . "\n";
echo "Standard Deviation: " . $stats['standardDeviation'] . "\n\n";
}
输出结果:
Channel: Red
Pixel Count: 100000
Minimum Value: 0
Maximum Value: 255
Mean Value: 123.45
Standard Deviation: 34.67
Channel: Green
Pixel Count: 100000
Minimum Value: 0
Maximum Value: 255
Mean Value: 98.76
Standard Deviation: 23.45
Channel: Blue
Pixel Count: 100000
Minimum Value: 0
Maximum Value: 255
Mean Value: 87.65
Standard Deviation: 12.34
该示例中,我们首先创建了一个Imagick对象,并加载了一张名为'image.jpg'的图像。然后,我们调用getImageChannelStatistics()函数来获取图像每个通道的统计信息。
通过遍历返回的统计信息数组,我们可以获取每个通道的像素数目、最小值、最大值、平均值和标准差等统计数据,并将其打印输出。
请注意,该函数需要Imagick扩展的支持,确保已正确安装和启用Imagick扩展。