gpt4 book ai didi

c++ - 来自 Magick++ 的形态匹配命令行转换

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:30 24 4
gpt4 key购买 nike

我正在尝试复制 ImageMagick 命令行:

Convert In.jpg ( -bias 50% -morphology Convolve LoG:0x1.5 ) Out.jpg

通过 C++ 中的 Magick++ (visual Studio 2010 Express)

我读到形态学操作不是 Magic++ 的一部分,因此需要使用 C MagickCore 函数。我无法获得匹配(或什至接近)的输出ImageMagick 命令行输出。

我正在尝试通过

创建内核
k=MagickCore::AcquireKernelInfo("LoG:0x1.5");

并通过

执行形态学
m = MagickCore::MorphologyImage(i, MagickCore::ConvolveMorphology, 3, k, e);

由于缺乏具体信息,我猜测这些方法和参数。有没有人指导如何从 C++ 完成相同的输出?

最佳答案

要在 Magick++ 中完成这些操作,需要许多繁琐的步骤,我没有相关文档。内核创建尤其可疑,因为它的大小为 13x13。

我找到了实现相同目标的另一种方法:使用 MagickCore::ConvertImageComand()。参数与命令行版本相同,输出相同。使用 C++ 中的命令似乎没有问题...

使用命名空间 Magick;
char *args[]={"convert", "In.jpg","(","-bias","50%","-morphology", "convolve", "LoG:0x1.5", ") ","输出.jpg"}; int args_count = 10;

MagickCore::ExceptionInfo *exception = MagickCore::AcquireExceptionInfo();
MagickCore::ImageInfo *image_info = MagickCore::AcquireImageInfo();
(void) strcpy(image_info->filename,"In.jpg");
image = MagickCore::ReadImage(image_info, exception);
MagickBooleanType status =
ConvertImageCommand(image_info, args_count, args, NULL, exception);

我宁愿让这个操作产生缓冲区或内存图像而不是写入磁盘,但我想这是另一个问题......

关于c++ - 来自 Magick++ 的形态匹配命令行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686074/

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