OpenCV在iOS上的应用尝试

0.152字数 554阅读 4642

OpenCV 是一个开源的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
最近试着在iOS 上使用 OpenCV,发现网上关于 iOS 上搭建 OpenCV 的资料很少。自己就整理了下,算是留个笔记。

在项目中导入OpenCV

最早的时候只能下载官方的framework然后导入到工程。通过相关编译选项的一系列配置才能使用。不过现在可以通过CocoaPods可以飞速导入OpenCV了。

source 'https://github.com/Zi0P4tch0/Specs.git'
platform :ios, '8.0'
inhibit_all_warnings!
pod 'OpenCV', '2.4.9-zp'

提醒:通过pod search 搜出来的source不是这个地址,因为根据搜索出来的地址无法安装OpenCV,提示Could not resolve host: hivelocity.dl.sourceforge.net。根据stackoverflow上这个回答修改成上面这个地址才可以安装

OpenCV是一个C++的API,因此如果要在OC中使用必须把文件后缀该为.mm。这个教程告诉了我们更好的方法

正确的方式是给所有你要在 app 中使用到的 OpenCV 功能写一层 Objective-C++ 封装。这些 Objective-C++ 封装把 OpenCV 的 C++ API 转化为安全的 Objective-C API,以方便地在所有 Objective-C 类中使用。走封装的路子,你的工程中就可以只在这些封装中调用 C++ 代码,从而避免掉很多让人头痛的问题,比如直接改文件后缀名会因为在错误的文件中引用了一个 C++ 头文件而产生难以追踪的编译错误。

并且文章中提到ARC只对Objective-C 对象有效。因此C++的内存管理需要格外注意


参考资料

推荐阅读更多精彩内容