getQuantumRange() can be handy here:
<?php
$i = new Imagick($imageFile);
$max = $i->getQuantumRange();
$max = $max["quantumRangeLong"];
$i->thresholdImage(0.77 * $max);
?>
(PECL imagick 2, PECL imagick 3)
Imagick::thresholdImage — Cambia el valor de píexeles individuales basdos en un umbral
Cambia el valor de píxeles individuales basados en la inatensidad de cada píxel comparado con el umbral. El resultado es una imagen de alto contraste de dos colores.
threshold
channel
Devuelve true
en caso de éxito.
Ejemplo #1 Imagick::thresholdImage()
<?php
function thresholdimage($imagePath, $threshold, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>
getQuantumRange() can be handy here:
<?php
$i = new Imagick($imageFile);
$max = $i->getQuantumRange();
$max = $max["quantumRangeLong"];
$i->thresholdImage(0.77 * $max);
?>