(PECL imagick 3)
Imagick::setColorspace — Set colorspace
Sets the global colorspace value for the object. This method is available if Imagick has been compiled against ImageMagick version 6.5.7 or newer.
Returns true on success.
Throws ImagickException on error.
This method has to be called BEFORE any files are loaded into the Imagick object.
By default, Imagick will incorrectly read CMYK PDFs - it will read each channel as a greyscale page resulting in 4 times the number of pages. By specifying the desired colorspace (usually SRGB) before reading the file, GhostScript will automatically convert it.
<?php
$im = new Imagick();
// set the sampling resolution
$im->setResolution(200,200);
// set the desired format
$im->SetColorspace(Imagick::COLORSPACE_SRGB);
$im->readimage($file['tmp_name']);
?>Right now this function doesn't appear to do anything, ref: http://stackoverflow.com/q/10739822/2685496
As mentioned in the answer, modulateImage works fine as a replacement for converting to gray scale.
<?php
$image = new Imagick("input.jpg");
$image->modulateImage(100, 0, 100);
$image->writeImage("output.jpg");
$image->clear();
?>