PHP 8.1.28 Released!

Imagick::getImageChannelKurtosis

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageChannelKurtosisgetImageChannelKurtosis

説明

public Imagick::getImageChannelKurtosis(int $channel = Imagick::CHANNEL_DEFAULT): array

指定したチャネルの尖度と歪度を取得します。このメソッドは、ImageMagick バージョン 6.4.9 以降で Imagick をコンパイルした場合に使用可能です。

パラメータ

channel

そのモードで有効なチャネル定数を指定します。 複数のチャネルを適用するには、チャネル定数 をビット演算子で組み合わせます。デフォルトは Imagick::CHANNEL_DEFAULT です。 チャネル定数 の一覧を参照ください。

戻り値

kurtosisskewness を要素に持つ配列を返します。

エラー / 例外

エラー時に ImagickException をスローします。

add a note

User Contributed Notes 1 note

up
0
holdoffhunger at gmail dot com
11 years ago
The getImageChannelKurtosis function accepts as a parameter any of the ImageMagick channel constants and returns an array containing elements with the two element values of 'kurtosis' and 'skewness.'

For the inputted color values, you have the ImageMagick channel constant values that look like imagick::CHANNEL_UNDEFINED, with "_VALUE" values of: undefined, red, gray, cyan, green, magenta, blue, yellow, alpha, opacity, matte, black, index, all, and default. This is for measuring the particular channel for these colors of their own associated colorspaces.

According to Wikipedia, the Kurtosis is "any measure of the 'peakedness' of the probability distribution of a real-valued random variable" and Skewness (its opposite) is "a measure of the asymmetry of the probability distribution of a real-valued random variable." The more colors vary from the inputted channel constant, you'll be more likely to get a skewness close to zero, and you'll get the opposite behavior from checking the kurtosis value, which makes sense, since skewness and kurtosis are considered mathematical antonyms.

Some sample code :

<?php

// Author: holdoffhunger@gmail.com

// Imagick Type
// ---------------------------------------------

$imagick_type = new Imagick();

// Open File
// ---------------------------------------------

$file_to_grab = "image_workshop_directory/test.bmp";

$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');

// Grab File
// ---------------------------------------------

$imagick_type->readImageFile($file_handle_for_viewing_image_file);

// Get Quantum Range
// ---------------------------------------------

$imagick_type_channel_kurtosis_red = $imagick_type->getImageChannelKurtosis(imagick::CHANNEL_RED);

// Print Results
// ---------------------------------------------

print("<pre>");
print_r($imagick_type_channel_kurtosis_red);
print(
"</pre>");

?>

The results for performing this function upon a photo of the ocean...

ImageMagick - Channel Kurtosis
Channel - Undefined :

Kurtosis : 0
Skewness : 0

Channel - Red :

Kurtosis : 0.920611158888
Skewness : 1.52701528976

Channel - Gray :

Kurtosis : 0.920611158888
Skewness : 1.52701528976

Channel - Cyan :

Kurtosis : 0.920611158888
Skewness : 1.52701528976

Channel - Green :

Kurtosis : -0.286520845928
Skewness : 1.05203603783

Channel - Magenta :

Kurtosis : -0.286520845928
Skewness : 1.05203603783

Channel - Blue :

Kurtosis : -0.849997917796
Skewness : 0.807852655795

Channel - Yellow :

Kurtosis : -0.849997917796
Skewness : 0.807852655795

Channel - Alpha :

Kurtosis : 0
Skewness : 0

Channel - Opacity :

Kurtosis : 0
Skewness : 0

Channel - Matte :

Kurtosis : 0
Skewness : 0

Channel - Black :

Kurtosis : 0
Skewness : 0

Channel - Index :

Kurtosis : 0
Skewness : 0

Channel - All :

Kurtosis : 0.509521246195
Skewness : 1.33491479552

Channel - Default :

Kurtosis : -0.349955122843
Skewness : 1.00561407035
To Top