linux下第一个OpencV程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下第一个OpencV程序

今天在linux下安装了OpenCV,下面是我的linux下第一个OpencV程序,很简单,但是在编译的过程中还是遇到了不少的问题。下面就简单总结一下。

源代码如下(hello.c):

#include "cv.h"

#include "highgui.h"

int main(int argc,char **argv)

{

IplImage* pImage;

if (argc == 2 && (pImage=cvLoadImage(argv[1],1)) !=0)

{

cvNamedWindow("Image",1);

cvShowImage("Image",pImage);

cvWaitKey(0);

cvDestroyWindow("Image");

cvReleaseImage(&pImage);

return 0;

}

return -1;

}

1.编译:gcc hello.c -o hello

报错如下:

hello.c:1:16: 错误:cv.h:没有该文件或目录

hello.c:2:21: 错误:highgui.h:没有该文件或目录

hello.c: 在函数‘main’ 中:

hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)

hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其

hello.c:6: 错误:所在的函数内只报告一次。)

hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用)

hello.c:20:2: 警告:文件未以空白行结束

解决方法:

把目录/usr/local/include/opencv拷贝到/usr/include下,

即执行命令:sudo cp -r /usr/local/include/opencv /usr/include

再编译:gcc hello.c -o hello

仍然报错:

hello.c:1:16: 错误:cv.h:没有该文件或目录

hello.c:2:21: 错误:highgui.h:没有该文件或目录

hello.c: 在函数‘main’ 中:

hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)

hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其

hello.c:6: 错误:所在的函数内只报告一次。)

hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用)

hello.c:20:2: 警告:文件未以空白行结束

再改变编译命令:

g++ `pkg-config --cflags opencv` -c hello.c

链接命令:

g++ `pkg-config --libs opencv` -o hello hello.o

此时编译成功,执行时候,需要进入超级用户模式下,并进入工程目录,执行命令:hello v.jpg即可显示出图片v.jpg

虽然有看到图片但是其中的有些原理还不是很清楚,会进一步跟踪研究~~~

相关文档
最新文档