Open In App

PHP | Imagick segmentImage() Function

Last Updated : 04 Dec, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The Imagick::segmentImage() function is an inbuilt function in PHP which is used to segment an image.

Syntax:

bool Imagick::segmentImage(int $COLORSPACE, 
float $cluster_threshold, float $smooth_threshold, 
bool $verbose = FALSE )

Parameters: This function accepts four parameters as mentioned above and described below:

  • $COLORSPACE: It specifies the integer value corresponding to one of COLORSPACE constants. You can also pass direct constants like imagick::COLORSPACE_RGB.
  • $cluster_threshold: It specifies a percentage describing minimum number of pixels contained in hexedra before it is considered valid.
  • $smooth_threshold: It specifies whether to eliminate noise from the histogram.
  • $verbose (Optional): It specifies whether to output detailed information about recognized classes. Default value is false

List of all COLORSPACE constants are given below:

  • 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)

Return Value: This function returns TRUE on success.

Exceptions: This function throws ImagickException on error.

Below given programs illustrate the Imagick::segmentImage() function in PHP:

Program 1:




<?php
  
// Create a new imagick object
$imagick = new Imagick(
  
// 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();
?>


Output:

Program 2:




<?php
  
// Create a new imagick object
$imagick = new Imagick(
  
// 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();
?>


Output:

Reference: https://www.php.net/manual/en/imagick.segmentimage.php



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads