问题标签 [magick++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1809 浏览

c++ - 如何在 Magick++ 中以灰度格式写入图像

如何保存为Magick::Image灰度格式?我ImageMagick用来解码图像并将结果写入OpenCV矩阵。我现在正在做的是读取彩色图像,然后通过以下方式将其转换为灰度OpenCV

我想将图像写入cv::Mat已经是灰度的图像,而不是中间彩色图像。这应该很简单,但无法从文档中找到它,希望能提供任何帮助。

另外我想知道如何检测图像是否包含 alpha 通道?

0 投票
3 回答
4091 浏览

c++ - ImageMagick Error: Unable to open image

I'm using ImageMagick (Magick++) in my application but when trying to load an image I get the error:

Unable to open image '??': Invalid argument @ error/blob.c/OpenBlob/2657

From reading other peoples problems online ?? is typically the file trying to be loaded, and I am obviously not passing the file location ?? to the loader - so it appears not to be able to resolve the string I am giving it. Tried using Unicode and Multi-byte. Copied project settings from example(s). File definitely exists and definitely the correct location.

Code:

being called by :

LawlessFBXTexture* tex = CreateTexture("..\\..\\Asset\\Models\\LawlessCoreAsset\\DEFAULT_DIFFUSE.png");

0 投票
2 回答
394 浏览

c++ - 像图像编辑器一样在 ImageMagick 中量化时如何忽略透明度?

我试图减少 png 中的颜色数量,同时忽略 alpha 通道以产生类似于我在 Photoshop 或 GIMP 中得到的结果。我已经阅读了 ImageMagick量化页面,并尝试了各种选项,但收效甚微。即使我在量化时使用透明颜色空间(-透明),ImageMagick 也会继续弄乱透明度。

实例专辑

我的目标是类似于第二张图像的结果,这是在 GIMP 中将颜色减少到 4 后的第一张图像(透明度通道保留在最终结果中,并且不会影响量化产生的颜色) . 第三种和第四种是 ImageMagick 使用 RGB 和透明色彩空间设置生成的(大部分不透明区域被转换为透明,第 4 种颜色用于透明度;生成的颜色整体更暗)。

0 投票
1 回答
1280 浏览

imagemagick - 如何在 Magick++ 中从字符缓冲区或字符串构造图像

我需要从或在 Magick++中构造一个Image对象。我已经尝试过 ImageMagick 和 GraphicsMagick,但仍然无法解决。char *std::string

我首先创建一个Blob对象并使用Image(const Blob &blob_)构造函数来获取一个Image. 这是演示代码:

但是当我运行它时,我得到了错误:

我发现了一些关于从 Blob 获取字符串的信息。所以我创建了一个并通过方法Blob更新它。base64但是还是出现了错误。

我能想到的唯一方法是将 char 缓冲区保存在一个临时文件中,然后通过Image(const std::string &imageSpec_). 但是,这种方式在我的选择中确实是不必要的。

0 投票
0 回答
86 浏览

c++ - 如何摆脱 magick_alloc_size 宏重新定义的警告

我在 C++ 程序中使用 Magick++,我看到以下警告消息:

我在我的头文件中以我认为正常的方式包含了 Magick++,

所以我认为问题出在 Magick++ 上,而不是我的程序上。

我在谷歌上搜索了一下这个警告,但没有找到任何明显的解决方案来摆脱它。

0 投票
1 回答
1478 浏览

c++ - 将图像实例另存为 png Magick++

这是我关于 Magick++ 的第 3后续文章,尽管我自己花费了大量的精力来处理它。

我有这个程序:

如您所见,我要做的就是将 10x10 的空图像保存到 png 文件中。不幸的是,Magick++ 不能这样做:

这是一个很大的失望。我花了六个小时让图书馆开始工作,最终完成了这个。但我认为 Magick++ 最终有能力做到这一点。因此问题是,我做错了什么?

我应该在某个地方包含/需要/加载一些允许PNG保存的模块吗?

0 投票
2 回答
2114 浏览

php - 使用 C++ 将 RGBA 值转换为二维数组

我正在将神经网络算法构建到 C++ 中,并使用图像来训练数据。

我需要将数据放在由 x,y|rgba 值(二维数组)表示的像素数组中。

我有 ImageMagick 和 Magick++.h 头文件以及编译器选项都解决了。

我知道头库正在工作,因为我可以:

我的图像是 32x32,编译程序的结果是:root@jarvis:~/Documents/Programming/C++/ImageMagick# ./magick COLS: 32 ROWS : 32

我似乎无法访问像素值。我不像我想的那样精通 C++,但是 PHP 中的一个例子是这样的函数:

我的 cpp 文件是这样的:

我目前的工作是将php函数与用于将图像数据集(输入向量)存储在db中的Web表单一起使用。然后我至少可以从 C++ 端访问该表。

我已经知道怎么做那么多了。我只是希望在导入方面有一个更优雅的解决方案。提前谢谢大家!

编辑:

要访问像素数据,我尝试过类似的方法

或 int x = 像素[0][0];

使用像素[0][0] 或像素[0]

0 投票
1 回答
2288 浏览

c++ - 使用 Magick++ 和 openMPI 编译 c++ 代码

我正在尝试使用Magick++库编译我的 C++ 代码,以使用分布式方式操作图像,openMPI当我尝试编译它时出现一些错误。

这是我的代码:

}

这是我在 shell 上输入的命令

这是shell的输出

openmpi_project.cc:(.text+0x1d): 未定义引用“Magick::InitializeMagick(char const*)”

openmpi_project.cc:(.text+0x29): 未定义对“Magick::Image::Image()”的引用

openmpi_project.cc:(.text+0x5d): 未定义对“Magick::Image::read(std::string const&)”的引用

openmpi_project.cc:(.text+0x86): 未定义对“Magick::Image::type(MagickCore::ImageType)”的引用

openmpi_project.cc:(.text+0x92): rundefined 对“Magick::Blob::Blob()”的引用

openmpi_project.cc:(.text+0xc6): 未定义对“Magick::Image::magick(std::string const&)”的引用

openmpi_project.cc:(.text+0xf1): 未定义对“Magick::Image::write(Magick::Blob*)”的引用

openmpi_project.cc:(.text+0xfd): 未定义对“Magick::Blob::~Blob()”的引用

openmpi_project.cc:(.text+0x158): 未定义对“Magick::Image::~Image()”的引用

openmpi_project.cc:(.text+0x1d3): 未定义对“Magick::Blob::~Blob()”的引用

openmpi_project.cc:(.text+0x261): 未定义对“Magick::Image::~Image()”的引用

/tmp/ccqFzUdy.o:(.gcc_except_table+0x58): 未定义对“Magick::Exception 的类型信息”的引用

0 投票
1 回答
2380 浏览

c++ - 使用 c++ 使用 magick++ 获取 rgb 颜色

我正在尝试从每个像素中获取 rgb。但是当我运行我的C++代码时,我会在 shell 上看到类似这样的红色

55512

55255

55255

为什么它不是我预期的 0 到 255 之间的数字?

这是我的代码

0 投票
2 回答
1076 浏览

c++ - 使用 openMPI 发送对象

我正在使用 magick++ 库来管理图像。我想使用 openMPI 分发我的算法,是否可以发送对象?

例如在我的代码中

我可以pixels用 MPI_Send 或 Scatter 发送吗?如果是,使用哪种数据类型?