首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Magick++的形态学

使用Magick++的形态学
EN

Stack Overflow用户
提问于 2012-01-24 07:34:09
回答 2查看 664关注 0票数 2

我正在尝试使用我正在编写的c++程序中的Magick++来执行形态学。不过,我找不到如何使用c++中的形态学方法。

我正在尝试执行以下操作(我们正在从perl转换):

代码语言:javascript
复制
$q=Image::Magick->new;
$q->Read("blah.jpg");
$q->Morphology(method => 'Close', kernel => 'Diamond:4');

仅仅使用Magick++不能做到这一点吗?

我已经找到了这个网站,http://www.imagemagick.org/api/MagickCore/morphology_8h.html,但我不确定这是否仅仅是ImageMagick本身的源代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-24 11:52:52

看起来Magick++没有做形态学的能力。相反,必须使用MagickCore库调用(这意味着您不能再使用Magick++类):

代码语言:javascript
复制
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

票数 2
EN

Stack Overflow用户

发布于 2013-05-04 06:35:59

zsalzbank你给出的响应的一部分是不正确的“(这意味着你不能再使用Magick++类)

Magick++和MagickCore的应用程序接口被设计为相互交互。

你可以像这样转换...

代码语言:javascript
复制
MagickCore::Image* img_core = img->image();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8980165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档