图像处理- OpenCV - C库在我的Ubuntu11.10中不起作用



最近我在我的机器上安装了Opencv。它在python中工作得很好(我只是通过一些eg程序检查了一下)。但是由于缺乏python教程,我决定转向c。我只是从http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/

运行一个Hello world程序。

在编译时,我得到以下错误

hello-world.c:4:16: fatal error: cv.h: No such file or directory
compilation terminated.

I'm new in opencv

Qn:你能告诉我可能是什么问题-以及我如何在c中运行我的helloworld程序吗?

您的编译器无法找到您的cv.h包含文件。如果是从包管理器安装的,它可能在/usr/include/opencv/中。您需要添加包含搜索路径。如果从命令行编译,使用-I指定附加的包含目录。比如-

gcc -I /usr/include/opencv/ -o helloworld helloworld.c 

如果您正在使用Eclipse,

    右键单击项目并选择属性。
  • 选择C/c++通用->路径和符号。
  • 选择包含选项卡。
  • 在语言列表中,根据你使用的语言选择'GNU C'或'GNU c++ '。
  • 按"添加…'按钮并添加/usr/include/opencv/
  • 保存并重建。

您需要显示cv.h文件的编译器路径。快速找到它的方法是这样做(在Ubuntu上):

find /usr -name "cv.h"
/usr/local/include/opencv/cv.h

只要把这个添加到编译器中:

gcc -I/usr/local/include/opencv -o helloworld helloworld.c

既然你问这个问题,你的编译器也可能有问题链接你的程序到openv库。只对库文件做同样的事情:

find /usr -iname "libopencv*"
/usr/local/lib/libopencv_flann.so
...

以同样的方式添加这个文件夹,并指定你想使用的库:

gcc helloworld.c -I/usr/local/include/opencv -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -o helloworld
应该编译的

。也有一个快捷方式,您可以使用以下命令

来代替所有这些步骤
gcc helloworld.c `pkg-config --cflags --libs opencv` -o helloworld

,它应该为您处理查找所需文件的所有工作,并让您专注于有趣的编码部分。

也许你刚刚安装了opencv包。但是,当您想在C程序中使用opencv时,您也可以安装名为opencv-devel的包。如果你还没有,安装它,然后像@ igreen说的那样使用它。

相关内容

  • 没有找到相关文章

最新更新