• 【从零学习openCV】IOS7下的openCV开发起步(Xcode5.1.1&openCV2.49)


    前言:

    开发IOS7已经有一月的时间了。近期在准备推研的事,有点想往CV方向发展。于是開始自学openCV。

    关注CSDN已经非常久了。也从非常多博主那学到了非常多知识,于是我也从这周开启自己的blog之旅,从零開始学openCV,从零開始做笔记写blog。哈哈~

    好了。废话不多说。进入正题。


    IOS7下使用openCV

    Mac OS下要使用openCV当然要编译,可是假设仅仅是在ios下使用openCV的话,仅仅须要将bulid好的opencv2.framework导入到project中就可以。

    opencv2.framework在openCV官网上下载就可以。传送门:opencv2.framework


    以下我们在Xcode下新建一个Single View Appliction,命名为CvForIOS。

    将下载好的opencv2.framework复制到新建好的project文件夹下,然后导入到project文件夹下Frameworks中,还有IOS7.1下的libc++.dylib也要导入。


    然后须要在Build Settings中,将“C++ Standard Library”设置成libstdc++。


    由于opencv中的MIN宏和UIKit的MIN宏有冲突。所以须要在.pch文件里,先定义opencv的头文件。否则会有编译错误。

    找到CvForIOS-Preix.pch改动例如以下:


    至此,前期的配置工作已经完毕。

    第一个案例:用openCV对手机上的照片进行方框滤波

    因为IOS一般都是用UIImage类型来存储显示图像,要用openCV对图像进行操作,就必需要能让cv::mat与UIImage之间自由转换。

    在这里我们使用github上的开源码。传送门:aptogo

    代码例如以下:

    注意:.mm文件是说明在这个文件里混合使用了Object-C和C++两种编程语言,因为openCV使用的是C++,所以要注意仅仅要使用了openCV的文件就必须改后缀名为.mm

    好了,接下来我们最终能够进入正题,首先在main.storyboard上加入一个button,一个UIImageView控件,一个UISlider。布局例如以下:

























    各控件的消息响应和连接例如以下:














    将视图控制器实现文件的后缀名改为.mm。让viewController实现UIImagePickerControllerDelegate和UIActionSheetDelegate协议

    详细实现代码例如以下:

    头文件:


    实现文件:

    调用cv::boxFilter实现方框滤波,通过滑动条就可以调整窗体的大小。终于效果例如以下:


























    doge经过方框滤波后还是那么带感,朦胧的眼神,哈哈!


    总算是把准备工作做好了,接下来就能够用openCV在手机上玩耍了~

    以后会在IOS7上用openCV实现很多其它更有意思的功能。最后整个案例的代码附上:cvForIOS

    (转载请注明作者和出处:Shawn-HT  http://blog.csdn.net/shawn_ht 未经同意请勿用于商业用途)


    參考文章:http://blog.devtang.com/blog/2012/10/27/use-opencv-in-ios/

  • 相关阅读:
    OpenCV-Python 霍夫直线检测-HoughLinesP函数参数
    2017 年度读书总结
    检查服务是否正在运行,如果未运行则启动
    添加MIME类型
    IIS功能查看、配置
    IIS下的身份验证方式管理
    PowerShell管理IIS(新建站点、应用程序池、应用程序、虚拟目录等)
    虚拟目录和应用程序的区别
    远程重启服务器
    逐行读取txt
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7204726.html
Copyright © 2020-2023  润新知