0

可能重复:
ubuntu 11.10 上的 OpenCV

我很难在 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

我真的很感激帮助。请让我知道我做错了什么。

4

2 回答 2

0

要链接到库,您需要使用-L /path/to/libraries标志指定其所在目录的路径。

您还需要您想要使用的特定库-l my_library

通常你还需要指定必要的包含路径使用-I /path/to/headers


pkg-config可以用作执行此操作的助手,因为它返回您使用库所需的确切参数。

你应该像这样使用它:

echo `pkg-config opencv --cflags --libs`

分别

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

于 2012-10-12T08:09:12.423 回答
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。

希望这可以帮助。

于 2012-10-12T08:02:59.890 回答