gpt4 book ai didi

c++ - 使用 Magick++ 的形态学

转载 作者:搜寻专家 更新时间:2023-10-31 01:54:56 25 4
gpt4 key购买 nike

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

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

$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 本身的源代码。

最佳答案

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

关于c++ - 使用 Magick++ 的形态学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8980165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com