希望有人可以帮助我,因为我完全失去了.我已经在互联网上搜索了,实在找不到任何帮助我的东西.
我正在尝试编译使用Magick ++库的c ++程序.我安装了Magick ++看似很好.在我当前的目录中找到main.cpp并且我正在运行g++ main.cpp.我收到以下错误...
In file included from main.cpp:3:0:
/home/simeon/ImageMagick-6.8.9-0/Magick++/lib/Magick++.h:9:30: fatal error: Magick++/Include.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
为了试图解决这个问题,我正在宣布我的main.cpp中的Magick ++.h的绝对路径,所以我有这个似乎正在工作......
#include "/home/simeon/ImageMagick-6.8.9-0/Magick++/lib/Magick++.h"
Run Code Online (Sandbox Code Playgroud)
错误发生在Magick ++.的第9行(由于我的绝对路径而发现它),看起来像这样......
#include <Magick++/Include.h>
Run Code Online (Sandbox Code Playgroud)
这是我感到困惑的地方,因为这个文件确实存在于它所说的地方.如果我跑
cat /home/simeon/ImageMagick-6.8.9-0/Magick++/lib/Magick++/Include.h
Run Code Online (Sandbox Code Playgroud)
然后文件打开没有问题,并显示其内容.
有没有人对你发生了什么有任何建议?我不明白为什么我需要指定绝对路径以及为什么g ++不首先找到头文件.有什么方法我可以告诉g ++在特定的地方寻找Magick ++标题吗?
提前致谢!西麦
我试图通过Magick ++将从GIF加载的图像转换为cv::Mat.我已经转换cv::Mat为Magick::Image但似乎无法找到如何从Magick中的Image中提取数据以将其加载到Mat中.最好的方法是什么?
作为参考,反过来:将cv :: Mat转换为Magick :: Image
我这里有一个使用Magick ++(ImageMagick接口)库的简单图像转换器代码.(Eclipse IDE)
#include <Magick++.h>
#include <string>
#include <iostream>
using namespace std;
using namespace Magick;
int main(int argc,char **argv)
{
Image image;
image.read("/home/usr1/test.tiff");
image.write( "/home/usr1/test.bmp" );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用arm-linux目标进行交叉编译.代码编译成功,但在链接部分,我得到了未定义的引用错误.
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x144): In function `vm_open':
ltdl/loaders/dlopen.c:194: undefined reference to `dlopen'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x158):ltdl/loaders/dlopen.c:198: undefined reference to `dlerror'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x16c): In function `vm_close':
ltdl/loaders/dlopen.c:212: undefined reference to `dlclose'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x17c):ltdl/loaders/dlopen.c:214: undefined reference to `dlerror'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x198): In function `vm_sym':
ltdl/loaders/dlopen.c:227: undefined reference to `dlsym'
/usr/local/lib/libMagick++/libMagickCore.a(dlopen.o)(.text+0x1ac):ltdl/loaders/dlopen.c:231: undefined reference to `dlerror'
Run Code Online (Sandbox Code Playgroud)
我使用以下命令编译代码:
/opt/Mx800SDK/vfitc/cross/bin/arm-linux-g++ -DMx870 -I/opt/Mx800SDK/vfitc/cross/arm-linux/include -I/usr/local/include/ImageMagick -I/opt/Mx800SDK/include -O2 -Wall …Run Code Online (Sandbox Code Playgroud) 我在网上找到了很多关于使用ImageMagick的命令行函数创建随机噪声图像的文档,但是还没有弄清楚如何在Magick ++中重现它.
ImageMagick有+噪音方法随机:
convert -size 100x100 xc: +noise Random random.png
我希望能够将像素设置为Color("random"),例如:
sought.extent(Geometry(640,416), Color("random"), CenterGravity);
在随机噪声的画布中嵌入较小的图像.当然,随机不是Color的可接受的论据,但我想知道是否存在等价物?理想情况是,如果还可以限制颜色范围 - 例如仅12位(#000-#FFF).
我试图将以下ImageMagick命令转换为Magick ++:
convert input-1.jpg input-2.jpg -compose blend -define compose:args="25,75" -composite result.jpg
Run Code Online (Sandbox Code Playgroud)
我遇到了困难-define compose:args="25,75",我无法在Magick ++中找到它的等价物.没有该compose:args= 部分,Magick ++代码如下:
Magick::Image input1, input2;
input1.read("input-1.jpg");
input2.read("input-2.jpg");
input1.composite(input2, 0,0, BlendCompositeOp);
Run Code Online (Sandbox Code Playgroud)
任何人都可以compose:args向我解释这个部分或者更好地告诉我它的Magick ++等价物吗?
我试图使用ImageMagick将图像加载到我的C++应用程序中; 我在XCode 7中开发.我正在努力.这是我的代码.
#include "Magick++.h"
int main(int argc, const char * argv[]) {
Magick::Image img;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下.
Ld /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug/clsFusion normal x86_64
cd /Users/ndwork/Desktop/clsFusion
export MACOSX_DEPLOYMENT_TARGET=10.11
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug -L/opt/X11/lib -F/Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug -filelist /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Intermediates/clsFusion.build/Debug/clsFusion.build/Objects-normal/x86_64/clsFusion.LinkFileList -mmacosx-version-min=10.11 -Xlinker -no_deduplicate -stdlib=libc++ -lX11.6 -Xlinker -dependency_info -Xlinker /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Intermediates/clsFusion.build/Debug/clsFusion.build/Objects-normal/x86_64/clsFusion_dependency_info.dat -o /Users/ndwork/Library/Developer/Xcode/DerivedData/clsFusion-ghktzemmmuxtfidyywslbqxztyqz/Build/Products/Debug/clsFusion
Undefined symbols for architecture x86_64:
"Magick::Image::Image()", referenced from:
_main in main.o
"Magick::Image::~Image()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code …Run Code Online (Sandbox Code Playgroud)