可能重复:
OpenCV on ubuntu 11.10
我很难在Ubuntu上安装OpenCV。我相信我已经安装了OpenCV;但是,我正在尝试用Eclipse编译其中一个示例程序kalman.cpp,我无法编译它。我相信我的问题是与图书馆联系。
我看过很多教程,我不明白为什么在我的电脑上安装opencv后,在使用命令pkg-confi opencv --libs
后得到以下输出:
manuel@manuel:~$ sudo pkg-config opencv --libs
/usr/local/lib/libopencv_calib3d.so
/usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_legacy.so
/usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_ts.so
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_videostab.so
每个教程那里的库显示为:
-L/where/you/have/installed/opencv/lib -lcxcore -lcv -lhighgui -lcvaux
这真令人讨厌,因为Eclipse找不到libopencv_contrib.so这个库。它正在等待-lopencv_contrib
我真的很感激帮助。请让我知道我做错了什么。
答案 0 :(得分:0)
我从未在Eclipse中使用过OpenCV。我基本上使用gcc或g ++(取决于c或C ++)文件编译它。
表示C文件,
$ gcc -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.c .c` opencvtest.c `pkg-config --libs opencv`
用于C ++文件,
$ g++ -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.cpp .cpp` opencvtest.cpp `pkg-config --libs opencv`
有关详细信息,请参阅http://jayrambhia.wordpress.com/2012/05/08/beginning-opencv/
如果您对此感到满意,我认为您不需要使用Eclipse。
希望这有帮助。
答案 1 :(得分:0)
要链接到库,您需要使用-L /path/to/libraries
标志指定其所在目录的路径。
您还需要使用-l my_library
所需的特定库。
通常您还需要使用-I /path/to/headers
pkg-config
可以用作帮助程序,因为它返回了使用库所需的确切参数。
你应该像这样使用它:
echo `pkg-config opencv --cflags --libs`
RESP。
g++ my_first_opencv_app.cc `pkg-config opencv --cflags --libs`
我的系统评估为
g++ my_first_opencv_app.cc -I/usr/include/opencv -lml -lcvaux -lhighgui -lcv -lcxcore
要使它与eclipse一起使用,您可能需要通过某个GUI元素指定包含路径(/usr/local/include/opencv
?),库路径(/usr/local/lib
?)和所需的库项目设置。那么你可能不应该pkgconfig
。