Итак, у меня есть situtation с ImageMagick и php, где мне нужно обрабатывать каждый из RGB-каналов отдельно, а затем объединить их обратно в конечное изображение. Итак, в коде, который у меня ниже, $ red, $ green и $ blue - это каналы (как изображения с серой шкалой). Следующий код - это то, что я пробовал (и несколько вариантов), но каждый раз, когда я заканчиваю изображение, которое показывает только голубое, пурпурное или желтое. В этом случае результирующее изображение является голубым.Слияние каналов RGB обратно в одно изображение с ImageMagick (php)
$im->removeImage();
$im->addImage($red);
$im->addImage($green);
$im->addImage($blue);
$img = $im->combineImages(self::CHANNEL_ALL);
$im->removeImage();
$im->removeImage();
$im->removeImage();
$im->addImage($img);
Я думаю, часть моей проблемы заключается в том, что документация PHP ничего не говорит о том, как использовать combineImages и нет образцов, насколько я могу найти. Поэтому очень вероятно, что я использую этот конкретный метод неправильно, и я подозреваю, что это связано с тем, как я совмещаю изображения в одном объекте Imagick для начала.
EDIT
Этот вопрос в конечном счете сводится к следующему: Как восстановить следующий сценарий, используя только PHP?
convert tmp_r.png tmp_g.png tmp_b.png -combine tmp_rgb.png
Я провел весь вечер, пытаясь работать, и я всегда получаю красное или серое изображение.Через несколько часов я начал думать, что addImage ошибочен, поскольку это похоже на анимацию gif. Я нашел сообщение на форуме Imagemagick, предлагая вместо этого компоновку. Я не могу понять, как работает Imagick, поскольку документация бесполезна и вводит в заблуждение. – Bonzo
100% согласны с документацией .... – gregghz
где вы нашли этот пост? – gregghz