使用OpenCV开发iOS图像处理应用(To be continued..)

来源:互联网 发布:淘宝网上怎么做代理 编辑:程序博客网 时间:2024/05/07 04:06

呃,OpenCV(中文)是Intel主导的开源图像处理函数库,基于C语言编写,是图像处理领域居家旅行必备、男女老少咸宜的开发库。

上学的时候用OpenCV做过图像处理方面的开发,现在刚接触iOS,了解了一下OpenCV在iOS平台的配置和开发方法,配置过程和遇到的问题简单做一下记录。

环境配置

OpenCV src

首先把最新版本的OpenCV代码下载或co到本地,比如我把OpenCV-2.1.0.tar.bz2解压到本地目录/work/src/OpenCV。

Xcode工程配置

拿来主义,国外有人制作了适用于iPhone和iPad的OpenCV的iOS接口,他们提供了两个工程,可以直接下载使用。打开iPhone工程OpenCV-iPhone.xcodeproj,首先要进行几步简单的设置:

1. SDK版本

作者提供的工程SDK版本可能和你开发环境的不同(我下载到的是基于4.0的),需要设置成你使用的SDK版本:在Groups&Files窗口的工程文件根目录右键-Get Info,在build栏的Base SDK一项中,改为你的SDK版本:

2. 链接标记 Other linker flags

本地的OpenCV库要链接进Xcode工程中,在Get Info的build项中,搜索 Other Linker Flags,添加相应的链接标记:

iPhone真机调试:
-lstdc++
-lz
“$(SRCROOT)/OpenCV/lib/iPhoneOS/lib/libcv.a”
“$(SRCROOT)/OpenCV/lib/iPhoneOS/lib/libcxcore.a”

模拟器调试:
-lstdc++
-lz
“$(SRCROOT)/OpenCV/lib/iPhoneSimulator/lib/libcv.a”
“$(SRCROOT)/OpenCV/lib/iPhoneSimulator/lib/libcxcore.a”

3. 头文件搜索路径 Header search paths

为方便的调用OpenCV头文件,要设置头文件搜索路径,同样在build项中搜索Header search paths,添加相应的内容:

iPhone真机调试:
“$(SRCROOT)/OpenCV/lib/iPhoneOS/include/opencv/”
“$(SRCROOT)/OpenCV/lib/iPhoneOS/include/”

模拟器调试:
“$(SRCROOT)/OpenCV/lib/iPhoneSimulator/include/opencv/”
“$(SRCROOT)/OpenCV/lib/iPhoneSimulator/include/”

4. Building OpenCV

有两种方式构建OpenCV,一种是转换到OpenCV target单独构建;一种是将OpenCV添加为主应用的依赖,构建主应用时一同构建。由于OpenCV的代码基本不需要修改,且构建进程很慢,所以建议对OpenCV进行单独构建。

在Groups & Files窗口中的Targets栏中,双击OpenCV,点击Build and Run进行编译。过程比较慢,一般会报几个error和warning,不过基本可以无视。

进行了这些设置之后,主应用基本就可以正常编译运行了:

编程范例

移植一个简单的OpenCV应用进Xcode中,对一张照片进行人脸识别,调用摄像头神马的,麻痹等买了授权能用真机调试再说吧。。

(To be continued..)

原创粉丝点击