OpenCV在iOS上的应用尝试

作者: 周二可 | 来源:发表于2016-05-19 13:22 被阅读3624次

    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++的内存管理需要格外注意


    参考资料

    相关文章

      网友评论

      • 狼之独步:
        可是那个中文网已经进不去了
      • 失忆的程序员:楼主对摄像头远近调整过吗?
        周二可:@Await_Xpf_好久不见 我们只用到了opencv来识别图像,至于图像的清晰度什么的都要用相机进行处理。
        失忆的程序员:@周二可 文章不存在了,我看过自动调或者某个点,实际在opencv上用我没实验成,你没做过调整远近距离的吗?
        周二可:你可以用自动对焦或者点击某个点进行对焦,具体的你可以看看我另一篇文章http://www.jianshu.com/p/6dc2bf6a9a3e里对焦的这一块。看看是不是能解决你的问题。
      • 梵高的老巫婆:您好 现在直接导入 opencv2.framework 可以吗?
        6c92c2dd5c85:@梵高的老巫婆 你好,我集成一直编译不过,,有什么需要配置的嘛?
        梵高的老巫婆:@周二可 可以 我试了
        周二可: @梵高的老巫婆 这个是一年前的用法,不知道你说的这个能不能用,你可以尝试尝试
      • WhatHurtsMore:我的cocoapods怎么装不了opencv 很多同事也是装不了
        df697075d374:@WhatHurtsMore 请问可以使用这个opencv将RGB565转成UIImage吗?可以进行插值放大吗?最近在做这样的项目,不太懂。
        WhatHurtsMore:@周二可 哎 现在不行了 会下载一半就不动了 我以为是网速问题 换了宽带也不行 官网下载的opencv文件也有缺失的 您那边有保存的opencv传个呗
        周二可: @WhatHurtsMore 你试试用cocopods直接搜出来的。我这个是之前能用…
      • a67e02faf22f:#import <opencv2/opencv.hpp> 报错怎么办?

      本文标题:OpenCV在iOS上的应用尝试

      本文链接:https://www.haomeiwen.com/subject/xexgrttx.html