问题标签 [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 回答
1789 浏览

c++ - 在 Visual C++ 2010 中安装 Magick++

我最近为 C++ 安装了 ImageMagick 库。我之前没有使用 C++ GUI 的经验,但我非常擅长 C++ 命令行编程。

我已经通过 .exe 文件在 Windows 中安装了 ImageMagick,并将库和头文件复制到 C++,但是每当我尝试运行任何演示程序时,我总是会收到此错误:

这些是我的笔记本电脑规格:

  • 视窗 7 64 位。
  • Visual C++ 2010 速成版 x86
  • ImageMagick x86

这就是我尝试安装它的方式:

  1. 安装 Visual C++ 2010 Express
  2. 安装 ImageMagick
  3. 复制 ImageMagick Lib 并包含在 Visual C++ 2010 中
  4. 选择 Win32 -> Windows -> 空项目(无效)
  5. 选定的 Win32 -> DLL(不起作用)
  6. 选定的 Win32 -> 静态(不起作用)

但是当我运行任何代码时,它会给出上面提到的错误。

有人提出了这个解决方案:

你需要一个起点,去
c:\Program Files\ImageMagick-6.8.1-Q16\Magick++_demos。
单击按钮工作区、构建和运行。
假设这是成功的,请将按钮工作区用作您自己的自定义代码的模板。

我也尝试了几十次,并且不断收到此错误:

项目必须转换为当前的 Visual C++ 项目格式。
转换后,您将无法在以前版本的 Visual Studio 中编辑此项目。转换并打开这个项目?

当我单击Yes没有任何反应时,屏幕上什么也没有显示 - 没有打开项目的空白 Visual C++ 屏幕。

我非常想知道:是什么导致了这个错误,为什么演示程序也不起作用?

0 投票
0 回答
283 浏览

c++ - 如何引导我的 imageMagick 支持 wmf 格式(windows)?

我在 Windows 中使用 Magick++ api。当我读取 wmf 文件时,我的程序崩溃了。问题是我的 imageMagick 不支持 wmf 格式?有人可以教我如何引导我的 imageMagick 支持 wmf 格式吗?

0 投票
0 回答
98 浏览

c++ - 转换 TIF 作品,Magick++ 读取相同的 TIF,中止

我可以从命令行使用 convert 命令将 some.tif 转换为其他任何东西。但是当我在 Magick++ 程序中使用 read 命令时,它无法读取相同的 TIF 文件,并显示以下消息:

“在抛出 'Magick::WarningCoder' what() 的实例后调用终止:convert1: some.tiff: 遇到标签为 33780 (0x83f4) 的未知字段。'TIFFReadDirectory'@warning/tiff.c/TIFFWarnings/768 Aborted

Magick++-config --cppflags --cxxflags --ldflags --libs我用“c++ -o convert1 convert1.cpp ”编译我的 C++ 程序

你能指出我做错了什么吗?

谢谢,

0 投票
1 回答
981 浏览

c++ - 使用 Magick++ 将蒙太奇保存到 Blob

我有一个蒙太奇,我可以在指定目标路径时将它保存到磁盘。但是当我尝试将它保存到 Blob 时它失败了。

我错过了一些设置吗?

版本:ImageMagick 6.8.2-5 2013-02-05 Q8

机器:Windows 7 x64

编辑:例外:

源图像

编码:

0 投票
1 回答
5493 浏览

c++ - C++ Windows 命令提示 C1083“无法打开包含文件:'Magick++.h'没有这样的文件或目录”

自从我取得任何进展以来已经超过 4 小时,并且搜索了文档和链接,坦率地说我没有想法。所以这里。

背景

  • 我正在命令提示符下编译 C++ 程序
  • 我是命令提示符的新手,对 C++ 还很陌生
  • 我正在用 Notepad++(不是 VS)编写这个程序,但是安装了 VS,所以我可以编译
  • 我正在尝试通过 Magick++ 来使用 ImageMagick,Magick++ 是一个 C++ API 包装器。
  • 主程序目录
    • C:/程序文件 (x86)/CameraSoftware/myCameraProgram.cpp
  • Magick++ 目录
    • C:/程序文件 (x86)/ImageSoftware/Magick++/lib/Magick.h

问题

  • 我正在尝试使用 Magick++ API,所以我想包含它
  • 我只是在 .cpp 文件中使用它#include <Magick++.h>
  • 我已经搞砸了许多对其他人有用但无济于事的解决方案
    • 致命错误 C1083:无法打开包含文件:'Magick++.h':没有这样的文件或目录

问题

  • 如何通过命令提示符正确编译并链接到“Magick++.h”?
  • 目前它是这样编译的
    • cl myCameraProgram.cpp /EHsc /link DSLRRemoteLib.lib
    • DSLRRemoteLib 是位于同一目录中的 lib 文件,需要 /EHsc 和 /link 才能运行

其他解决方案

  • 对于visual studio项目,我相信你可以通过一些配置来为项目添加外部目录路径,但是我没有使用notepad++的奢侈,所以我真的需要知道如何正确编译它
  • 我已经尝试在 myCameraProgram.cpp #include "COMPLETE_DIR_PATH/Magick++.h" 中进行硬编码,它会编译,但 Magick++.h 中有更多包含在其中(例如#include <Magick++/Include.h>),它会为每个头文件带来 C1083 错误。
    • 我还尝试在 Magick++.h 中对文件路径进行硬编码,以及下一级头文件的相同问题。所以这不是一个解决方案。
    • 我还尝试在编译行中为 /link 文件添加一个附加参数
    • cl myCameraProgram.cpp /EHsc /link DSLRRemote "COMPLETE_DIR_PATH/Magick++.h"但不起作用
    • 也试过 cl myCameraProgram.cpp /EHsc /link DSLRRemote /l "COMPLETE_DIR_PATH/Magick++.h"
    • 以及多次失败的尝试。

任何帮助或建议或方向将不胜感激,谢谢!

======== 编辑 ========

感谢大家的提示。

  • 使用 /I "C:\Users\ME\Documents\ImageMagick-6.8.1-10\Magick++\lib" 我可以成功链接 #include "Magick++.h",但它不会在其他任何地方查找其他文件。
  • 它找不到在子目录路径“C:\Users\ME\Documents\ImageMagick-6.8.1-10\Magick++\lib\Magic++\Include.h”中的#include。
  • “Magick++/Include.h”还引用了父目录中的另一个子目录。

进步

  • 我当前的命令提示符编译行是:
  • cl "C:\Users\ME\Documents\ImageMagick-6.8.1-10\Magick++\lib"
  • 找到“Magick++.h”

问题

  • “Magick++.h”是一个包含 4 个头文件的头文件
  • 编译时找不到子目录中的其他文件
  • 有没有办法链接路径下的所有子目录和文件
  • “C:\Users\ME\Documents\ImageMagick-6.8.1-10”有机会编译吗?
0 投票
0 回答
179 浏览

image - 从中创建 tiff 16 位图像和 jpg 缩略图

我正在使用 magick++ 创建 16 位 tiff 图像。它们是单色的,因此所有三个通道都具有相同的值。图像完成后,我会从中创建 png 或 jpg 缩略图。

我可以完美地可视化 Imagej 中的 tiff 和 png 图像。jpg 图像可以在 Imagej 中可视化,但它们会丢失很多颜色级别。

但是,在 Gnome、Firefox、Imagemagick 查看器或 Shotwell 等其他查看器中,所有图像(tiff、png 和 jpg)都是黑色的。

为什么?如何在每个查看器中正确查看图像?

0 投票
0 回答
180 浏览

c++ - Magick++ 裁剪在第二张图像上抛出错误

我目前正在尝试使用 Magick++ 裁剪大量图像矩阵。我正在遍历所有图像并将每个图像切割成一个 3x3 的瓷砖网格,以获得它们的平均 RGB 值。目前,下面的代码对第一张图像工作正常,但在第 10 次迭代(矩阵中的第二张图像),程序抛出错误(“libc++abi.dylib: terminate called throwing an exception\n Abort trap: 6 ") 在裁剪步骤上。我一遍又一遍地看着这个,似乎找不到几何数学的任何问题。任何帮助将不胜感激,谢谢!

slices是图像矩阵,每个图像都是 12x12 像素的图像。averages是一个RGB值数组,它是一个包含 3 个整数(红色、绿色和蓝色)的自定义结构。

0 投票
2 回答
2195 浏览

c++ - 使用 Magick++ 创建新图像

我有一个这样的矢量

使用magick ++从该向量中形成新图像的有效方法是什么?

0 投票
1 回答
438 浏览

c++ - 线程中的 Magick++ 段错误

编写扫描程序。在它读取一个图像后,它调用convertToPDF()然后读取下一个图像。RUN FINISHED; Segmentation fault: 11;当在线程中声明 Image 时,程序段错误 ( )。相同的代码在主线程中运行时可以正常工作,我将其thrPDF移至convertToPDF以确保。所以我认为这与我头脑中的 Magick++ 内存分配有关。任何帮助将非常感激。

这是调用堆栈:
omp_get_max_threads(?)
GetOpenMPMaximumThreads
inlined AcquirePixelCache(?)
AcquireImage(?)
Magick::ImageRef::ImageRef(?)
Magick::Image::Image(?)
thrPDF(?)
_pthread_start(?)
thread_start( ?)

0 投票
1 回答
738 浏览

visual-c++ - Magick::readImages- 错误

我最近成功安装了 Magick++ 并在我的 MFC 程序中使用它(在 Visual C++ 2010 上大量尝试之后)。我的目标是将动画 gif 解码为许多位图。我需要所有的位图帧。我使用了下面的代码,但收到了很多错误。如果有人可以帮助我,我将不胜感激:)。如果有人建议我提供有关 Magick++ 的良好文档以及示例,我也将不胜感激,因为我对这个库完全陌生,这是我的代码: