OpenCV For iOS 1: 连接OpenCV 3.0

本文的内容参考Instant OpenCV for iOS结合最新的开发平台完成。

本系列文章采用的的开发环境为:

1)Xcode 6

2)OpenCV for iOS 3.0.0 alpha

接下来Step by Step 说明如何在最新的平台下使用OpenCV,以将一个彩色图片转换为边缘图为例

Step 1:创建一个新的项目

Step 2:在Building phase里面添加opencv2.framework

Step 3:由于openCV采用C++,因此,要在项目中运行c++代码,需要将文件名后缀由.m改成.mm,如上图所示

Step 4:在ViewController.mm中import OpenCV的文件

#import <opencv2/opencv.hpp>

#import <opencv2/imgproc/types_c.h>

#import <opencv2/imgcodecs/ios.h>

由于opencv.hpp并没有包含所以opencv2的文件,所以有一些需要分别import。

Step 5:输入如下代码:

@interface ViewController ()
{
    cv::Mat cvImage;
}
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    CGRect rect = [UIScreen mainScreen].bounds;
    self.imageView.frame = rect;

    UIImage *image = [UIImage imageNamed:@"road.JPG"];
    // Convert UIImage * to cv::Mat
    UIImageToMat(image, cvImage);
    if (!cvImage.empty()) {
        cv::Mat gray;
        // Convert the image to grayscale;
        cv::cvtColor(cvImage, gray, CV_RGBA2GRAY);
        // Apply Gaussian filter to remove small edges
        cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2,1.2);
        // Calculate edges with Canny
        cv::Mat edges;
        cv::Canny(gray, edges, 0, 60);
        // Fill image with white color
        cvImage.setTo(cv::Scalar::all(255));
        // Change color on edges
        cvImage.setTo(cv::Scalar(0,128,255,255),edges);
        // Convert cv::Mat to UIImage* and show the resulting image
        self.imageView.image = MatToUIImage(cvImage);
    }

}

中间的过程先不考虑,关键点在使用了两个函数实现iOS下的UIImage和openCV下的cv::Mat格式的转换,从而实现了iOS与OpenCV的有效连接。

测试效果如下:

从上面可以看出,我们可以非常非常简单地在iOS下使用OpenCV。接下来就是理解并使用OpenCV的各个功能算法。

时间: 2024-10-09 08:28:02

OpenCV For iOS 1: 连接OpenCV 3.0的相关文章

OpenCV 在 iOS 开发环境下的编译和配置

来源:http://www.onevcat.com/2012/03/opencv-build-and-config/ 原作:OneV's Den http://www.onevcat.com/2012/03/opencv-build-and-config/ 2014.5.3 更新 现在一般都直接使用方便的 CocoaPods 来进行依赖管理了,特别是对于像 OpenCV 这样关系复杂的类库来说尤为如此.可以访问 CocoaPods 的页面并搜索 OpenCV 找到相关的 pod 信息就可以进行简

OpenCV for iOS 3 及 玩转EV3 之: 在iPhone上做手势检测 并控制EV3 机器人

1 前言 去年我做了一段时间iPhone和LEGO EV3 机器人的研究,当时已经开发了iOS的EV3 wifi版SDK,能够使得iOS与EV3进行互动,但这还远远达不到我曾经设想的效果,且看我之前的博文: [iOS与EV3混合机器人编程系列之一]iOS要干嘛?EV3可以更酷! http://blog.csdn.net/songrotek/article/details/37652771 iPhone不仅仅要作为EV3 的大脑,还要是EV3的眼睛,脸,还有姿态感觉(陀螺仪).因此,我之后转向视觉

【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已. 在官网:http://opencv.org/上找到OpenCV

ios下编译opencv

如果想要在ios下编译opencv 需要安装Cmake 这里通过homebrew 来安装cmake ios下打开终端然后先安装 homebrew :(mac 下自带ruby) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 然后安装Cmake: brew install cmake 装好cmake之后就可以使用git 下载opencv 源码了具体操作如下:

安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 知乎:http://www.zhihu.com/people/mao-xing-yun 写作当前博文时配套使用的OpenCV版本: 2.4.8.2.4.9.3.0   ( 2014

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

前言: 开发IOS7已经有一月的时间了,近期在准备推研的事,有点想往CV方向发展,于是開始自学openCV. 关注CSDN已经非常久了,也从非常多博主那学到了非常多知识,于是我也从这周开启自己的blog之旅,从零開始学openCV,从零開始做笔记写blog,哈哈~ 好了,废话不多说,进入正题.. IOS7下使用openCV Mac OS下要使用openCV当然要编译,可是假设仅仅是在ios下使用openCV的话,仅仅须要将bulid好的opencv2.framework导入到project中就可

IOS学习之蓝牙4.0

转载请注明出处 作者:小马 IOS学习也一段时间了,该上点干货了.前段时间研究了一下IOS蓝牙通讯相关的东西,把研究的一个成果给大家分享一下. 一 项目背景 简单介绍一下做的东西,设备是一个金融刷卡器,通过蓝牙与iphone手机通讯.手机端的app通过发送不同的指令(通过蓝牙)控制刷卡器执行一些动作,比如读磁条卡,读金融ic卡等.上几张图容易理解一些:              看了上面几张图,你应该大概了解这是个什么东东了. 二 IOS 蓝牙介绍 蓝牙协议本身经历了从1.0到4.0的升级演变,

iOS蓝牙连接流程介绍-1

蓝牙连接流程介绍 1.1-程序员找女朋友流程介绍 0.程序员找女朋友参与者 1.你 2.受害者(女性同胞)  (1)她的性格1 性格的特点 (2)她的性格2  分析性格的特点 1.寻找女性 寻尽身边一切女性,哪怕是坐在对面的UI妹子和身旁细皮嫩肉的安卓 撒大网捕鱼,万一有哪个瞎眼的上沟了呢? 2.锁定目标 有了目标才好进行下一步 3.与目标建立联系(搭讪) 每一对情侣都是从朋友开始的.不!是从借你的那支笔或者请你吃的那顿饭开始的. iOS程序员挣得多,死得早 要才华有才华,要智商有智商,要幽默有

【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置

目录(?)[-] 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容眼看自己积累到一定的程度了于是决定开始开设这个OpenCV系列专栏总结自己所学也分享知识给大家 还是先放出待会儿的测试用图 下载和安装OpenCV SDK sources里面是源代码想查看完整的源代码需要用cmake来解包如何解包大家百度一下就可以或者下次浅墨来专门讲一讲这里就先不多说了 配置环境变量 工程包含include目录的配置 工程库lib目录的配置 链接库的配置 在Wi