Imagick::getImageHistogram

(PECL imagick 2, PECL imagick 3)

Imagick::getImageHistogramObtiene el histograma de la imagen

Descripción

Imagick::getImageHistogram(): array

Devuelve el histograma de la imagen como un array de objetos ImagickPixel.

Valores devueltos

Devuelve el histograma de la imagen como un array de objetos ImagickPixel.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Generates Imagick::getImageHistogram()

<?php
function getColorStatistics($histogramElements, $colorChannel) {
$colorStatistics = [];

foreach (
$histogramElements as $histogramElement) {
$color = $histogramElement->getColorValue($colorChannel);
$color = intval($color * 255);
$count = $histogramElement->getColorCount();

if (
array_key_exists($color, $colorStatistics)) {
$colorStatistics[$color] += $count;
}
else {
$colorStatistics[$color] = $count;
}
}

ksort($colorStatistics);

return
$colorStatistics;
}



function
getImageHistogram($imagePath) {

$backgroundColor = 'black';

$draw = new \ImagickDraw();
$draw->setStrokeWidth(0); //hacer que las líneas sean lo más finas posibles

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

$histogramWidth = 256;
$histogramHeight = 100; // the height for each RGB segment

$imagick = new \Imagick(realpath($imagePath));
//Hacer la imagen pequeña, de lo contrario PHP tiende a quedarse sin memoria
To Top