配置opencv之Xcode

转载:http://www.programgo.com/article/6254576229/


配置Xcode

当时我第一次在Mac下面配置OpenCV开发环境时,前面都挺顺利的,就是在配置Xcode中发现问题了。不过,后来总结问题出现的原因,还是对OpenCV使用不熟练。以前在Eclipse环境中配置过XenAPI的C语言开发环境,当时就需要指定Xen的头文件位置和库文件位置。现在,在Xcode中,我想应该也是需要指定的。一开始,头文件没有指定,只要一导入OpenCV的头文件,代码就报错,更别提编译能否通过了。后来,捣鼓了半天,导入头文件没有报错了,但是编译不成功,说我使用的OpenCV对象不存在。出现这种问题,如果对象名没写错的话,在编译的时候没有找到库文件。顺着这个思路,终于把OpenCV开发环境搞定了。


打开Xcode,选择新建一个项目


选择命令行(Command Line Tool)项目,点下一步


给项目起个名字,就叫做TestOpenCV吧,语言类型选择C++,点击下一步


选择一个该项目存放的路径,然后点击创建,这个项目就创建出来了。


右键点击项目,选择New Group,命名为lib。


右键点击刚才新建的lib组,选择Add Files to “TestOpenCV”。


点击后,弹出一个文件选择对话框。


接着,按下shift+command+G,并且在弹出的窗口中输入要跳转到的路径,点击GO按钮。


此时,文件选择对话框里面的内容已经重定向到/usr/local/lib下了。选择当前目录下所有dylib后缀名的文件,点击Add按钮,进行添加。到此,已经将动态库和项目做好关联了。


接下在设置项目的查找路径,也就是头文件和库文件的路径。

切换到Build Settings选项卡,如图下图1标记。如果已经在Build Settings选项卡上,忽略此操作。

将可设置项从Basic切换到All,如下图2标记。如果已经在All选项卡上,忽略此操作。

找到Search Paths设置组,如图3标记。

展开Hander Search Paths项,如图4标记。将/usr/local/include、/usr/local/include/opencv这两个路径分别添加到Debug、Release。

添加完Hander Search Paths后,类似的,将/usr/local/lib这个路径分别添加到Library Search Paths的Debug和Release中。如图5标记。

都添加完成后,别忘记将Always Search User Paths改为Yes,如图6标记。


在设置Debug或Release路径的时候,只需要将鼠标移到Debug或Release对应的行上面,就会出现一个加号样子的图标。


点击加号图标,就会出现如下项。此项后面的内容是可以编辑的,默认刚添加完是该项后的内容是文本编辑状态。按一下ESC键,使此处退出文本编辑状态,然后再双击此项后面的值,即弹出一个值设置对话框。


在对话框中点击加号即可添加的路径。



到此,相应的环境变量配置已经完成了,接下来用一段代码测试一下。点击main.cpp文件,将下面代码粘贴到代码编辑器中,然后运行。如果运行成功了,即表示OpenCV开发环境已经搭建成功了。


  1. //  
  2. //  main.cpp  
  3. //  TestOpenCV  
  4. //  
  5. //  Created by HuangYiwei on 14-2-9.  
  6. //  Copyright (c) 2014年 HuangYiwei. All rights reserved.  
  7. //  
  8.   
  9. #include <iostream>  
  10. #include <opencv2/opencv.hpp>  
  11. #include <opencv2/highgui/highgui.hpp>  
  12. #include <opencv/cvaux.hpp>  
  13. #include <fstream>  
  14. using namespace std;  
  15.   
  16. #define BYTE unsigned char  
  17.   
  18. int main(int argc, const char * argv[])  
  19. {  
  20.     // insert code here...  
  21. #if 1  
  22.     //get the image from the directed path  
  23.     IplImage* img = cvLoadImage("/Users/huangyiwei/Desktop/屏幕快照 2014-02-09 9.14.49.png", 1);  
  24.     //NSLog(img);  
  25.     //create a window to display the image  
  26.     cvNamedWindow("picture", 1);  
  27.     //show the image in the window  
  28.     cvShowImage("picture", img);  
  29.     //wait for the user to hit a key  
  30.     cvWaitKey(0);  
  31.     //delete the image and window  
  32.     cvReleaseImage(&img);  
  33.     cvDestroyWindow("picture");  
  34. #endif  
  35.     //return  
  36.     return 0;  
  37. }  


cvLoadImage(“/Users/huangyiwei/Desktop/屏幕快照 2014-02-09 9.14.49.png", 1);

这个方法需要传入一张图片的路径,这个路径是我电脑上面文件的路径。


可能不同的系统上得配置方式有差别,我的操作系统版本是10.9.1,Xcode版本是5.0.2。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值