cla*_*rkk 7 c++ imagemagick graphicsmagick
我想使用C++ API graphicsmagick
我需要直接转换图像数据,OpenCV并使用与第4组压缩graphicsmagick一样保存文件tiff
命令行
gm convert input -type bilevel -monochrome -compress group4 output.tif
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些代码(见上面的命令行)简单地将输出转换从OpenCV到tiff与组4压缩
我是C++的新手:)
我正在努力graphicsmagick工作.在docs中找到了一个非常简单的代码
我找不到 Magick++.h
locate /Magick++.h 没有回报
但是已经安装了graphicsmagick
# gm -version
GraphicsMagick 1.3.20 2014-08-16 Q8 http://www.GraphicsMagick.org/
Run Code Online (Sandbox Code Playgroud)
/*
* Compile
* g++ gm_test.cpp -o gm_test `GraphicsMagick++-config --cppflags --cxxflags --ldflags --libs`
*/
#include <Magick++.h>
using namespace std;
using namespace Magick;
int main(int argc, char **argv){
InitializeMagick(*argv);
Image image( "100x100", "white" );
image.pixelColor( 49, 49, "red" );
image.write( "red_pixel.png" );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
# g++ gm_test.cpp -o gm_test `GraphicsMagick++-config --cppflags --cxxflags --ldflags --libs`
-bash: GraphicsMagick++-config: command not found
gm_test.cpp:6:22: fatal error: Magick++.h: No such file or directory
#include <Magick++.h>
^
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
更新的答案
尝试查找GraphicsMagick-config在您安装GraphicsMagick的目录下调用的文件,如下所示:
find /usr -name "GraphicsMagick-config"
Run Code Online (Sandbox Code Playgroud)
当你找到它时,你可以要求它告诉你编译器包含这样的标志和链接器标志:
/usr/some/path/GraphicsMagick-config --cflags --libs
Run Code Online (Sandbox Code Playgroud)
然后你可以编译:
gcc $(/usr/some/path/GraphicsMagick-config --cflags --libs) somefile.c -o somefile
Run Code Online (Sandbox Code Playgroud)
原始答案
查看您安装GraphicsMagick的目录,查找以文件结尾.pc的pkg-config文件,例如
find /usr/local -iname "graphic*.pc"
Run Code Online (Sandbox Code Playgroud)
然后传递此文件以pkg-config获取您应该用于编译的CFLAGS和LIBS.所以,如果您graphicsmagick.pc在/usr/local/Cellar/graphicsmagick/1.3.23/lib/pkgconfig/GraphicsMagick.pc,请使用:
pkg-config --cflags --libs /usr/local/Cellar/graphicsmagick/1.3.23/lib/pkgconfig/GraphicsMagick.pc
Run Code Online (Sandbox Code Playgroud)
哪个会给你这个:
/usr/local/Cellar/graphicsmagick/1.3.23/lib/pkgconfig/GraphicsMagick.pc
-I/usr/local/Cellar/graphicsmagick/1.3.23/include/GraphicsMagick -L/usr/local/Cellar/graphicsmagick/1.3.23/lib -lGraphicsMagick
Run Code Online (Sandbox Code Playgroud)
然后你将编译:
gcc $(pkg-config --cflags --libs somefile.c -o somefile
Run Code Online (Sandbox Code Playgroud)