第一个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


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值