La función Imagick::segmentImage() es una función incorporada en PHP que se utiliza para segmentar una imagen.
Sintaxis:
bool Imagick::segmentImage(int $COLORSPACE, float $cluster_threshold, float $smooth_threshold, bool $verbose = FALSE )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- $COLORSPACE: Especifica el valor entero correspondiente a una de las constantes COLORSPACE . También puede pasar constantes directas como imagick::COLORSPACE_RGB .
- $cluster_threshold: especifica un porcentaje que describe el número mínimo de píxeles contenidos en hexedra antes de que se considere válido.
- $smooth_threshold: Especifica si eliminar el ruido del histograma.
- $verbose (opcional): especifica si se debe generar información detallada sobre las clases reconocidas. El valor predeterminado es falso
La lista de todas las constantes de COLORSPACE se proporciona a continuación:
- imagick::COLORSPACE_UNDEFINED (0)
- imagick::COLORSPACE_RGB (1)
- imagick::COLORSPACE_GRAY (2)
- imagick::COLORSPACE_TRANSPARENT (3)
- imagick::COLORSPACE_OHTA (4)
- imagick::COLORSPACE_LAB (5)
- imagick::COLORSPACE_XYZ (6)
- imagick::COLORSPACE_YCBCR (7)
- imagick::COLORSPACE_YCC (8)
- imagick::COLORSPACE_YIQ (9)
- imagick::COLORSPACE_YPBPR (10)
- imagick::COLORSPACE_YUV (11)
- imagick::COLORSPACE_CMYK (12)
- imagick::COLORSPACE_SRGB (13)
- imagick::COLORSPACE_HSB (14)
- imagick::COLORSPACE_HSL (15)
- imagick::COLORSPACE_HWB (16)
- imagick::COLORSPACE_REC601LUMA (17)
- imagick::COLORSPACE_REC709LUMA (19)
- imagick::COLORSPACE_LOG (21)
- imagick::COLORSPACE_CMY (22)
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función Imagick::segmentImage() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Segment the image with colorspace as imagick::COLORSPACE_RGB $imagick->segmentImage(1, 0, 12); // Display the image header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Segment the image with colorspace as imagick::COLORSPACE_GRAY $imagick->segmentImage(2, 5, 30); // Display the image header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.segmentimage.php