使用OpenCV开发iOS图像处理应用
来源:互联网 发布:淘宝极速退款欠款未还 编辑:程序博客网 时间:2024/05/19 18:11
呃,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中,对一张照片进行人脸识别,调用摄像头神马的,麻痹等买了授权能用真机调试再说吧。。
- 使用OpenCV开发iOS图像处理应用
- 使用OpenCV开发iOS图像处理应用(To be continued..)
- iOS 下使用 OpenCV 实现图像处理
- opencv图像处理开发
- iOS OpenCV 图像灰度处理
- iOS OpenCV 图像灰度处理
- vs2013在图像处理中的应用(6):使用OpenCV进行图像处理
- iOS OpenCV 图像美白处理
- iOS开发之图像处理
- MFC中使用openCV显示、处理图像
- 【图像处理】OpenCV函数threshold的使用
- MFC中使用openCV显示、处理图像
- Android上使用OpenCV处理图像
- Android上使用OpenCV处理图像
- python 使用opencv 对图像mask处理
- android开发在jni中使用Opencv进行图像处理,环境搭建篇
- 使用Eclipse开发OpenCV应用
- [置顶]opencv图像处理3--opencv下使用滑动条
- tablet os 和BB10中用于处理多媒体的组件
- 杭电ACM----2018母牛的故事
- sql注入攻击详解(三)sql注入解决办法
- 如何编写iOS5杂志程序(1)
- Linux2.6 内核的 Initrd 机制解析
- 使用OpenCV开发iOS图像处理应用
- 由中国教育联想到软件开发
- D3.JS 基于javascript的图表展示库<六>-基本柱状图2
- 使用JDBC连接Windchill数据库
- AT89C52单片机八路温度检测汇编代码
- 在blackbery 10上socket绑定80端口会失败
- GridView 查找到某一行的index
- 给程序员小弟弟小妹妹们的一些性忠告
- 也谈Android的学习和利用Android来赚钱