Кажется, что Magick ++ не имеет возможности заниматься морфологией. Вместо этого должны использоваться вызовы библиотеки MagickCore (что означает, что вы больше не можете использовать классы Magick ++):
ExceptionInfo *e;
ImageInfo *ii;
Image *i;
e = AcquireExceptionInfo();
ii = CloneImageInfo((ImageInfo *) NULL);
strcpy(ii->filename, vm["input"].as<string>().c_str());
i = ReadImage(ii, e);
i = MorphologyImage(i, CloseMorphology, 3, AcquireKernelInfo("Diamond:4"), e);
Это более сложно, и нет никакой обработки ошибок, как в Magick ++, но она работает.
Чтобы увидеть все доступное в библиотеке MagickCore, посмотрите здесь: http://www.imagemagick.org/api/MagickCore/index.html