OpenCV 安装(一)

OpenCV是一个开源跨平台的的计算机视觉和机器学习库,可以用来做图片视频的处理、图形识别、机器学习等应用,本序列将着重记录在OC语言中的使用


安装

介绍 OpenCV的安装有三种方式:

1.github下载源码编译 下载地址

2. 使用CocoaPods安装

在项目podfile中加入pod 'OpenCV-iOS', '~> 3.1',在cmd 下cd 至项目路径  运行pod install 等待下载完成.

3.在官方下载framework 下载地址

将下载好的opencv2.framework添加到项目中,并且将OpenCV所需的依赖库添加到项目中。

libc++.tbd

AVFoundation.framework

CoreImage.framework

CoreGraphics.framework

QuartzCore.framework

Accelerate.framework

如果要使用摄像头做视频处理,还需要添加以下两个依赖库:

CoreVideo.framework

CoreMedia.framework

AssetsLibrary.framework


项目中使用

因为openCV 是C++编写,所以我们要在项目中使用需以 Object-C++的兼容方式来写,即在要引入openCV的文件的.m改成.mm即可编译.

导入头文件

重要两个函数

  UIImage *image = [UIImage imageNamed:@"test"];

    /*

     UIImage 转换成openCV 使用格式Mat

     openCV 提供方法 UIImageToMat(const UIImage *image, cv::Mat &m)

     第一个参数 输入的参数

     第二个参数 转换成的 Mat格式

     */

    MatinputImage;

    UIImageToMat(image, inputImage);

    /************************处理逻辑**********************/


    /*

     Mat格式转换成 UIImage

     openCV提供方法 MatToUIImage(const cv::Mat &image)

     第一个参数 输入的参数

     第二个参数 转换成的 Mat格式

     */

    UIImage*outImage = MatToUIImage(inputImage);



openCV 模块介绍

core  

定义了基本数据结构,包括最重要的Mat和一些其他的模块

imgproc  

该模块包括了线性和非线性的图像滤波,图像的几何变换,颜色空间转换,直方图处理等等

video  

该模块包括运动估计,背景分离,对象跟踪

calib3d    

基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建

features2d  

显著特征检测,描述,特征匹配

objdetect  

物体检测和预定义好的分类器实例(比如人脸,眼睛,面部,人,车辆等等)

highgui

视频捕捉、图像和视频的编码解码、图形交互界面的接口

gpu

利用GPU对OpenCV模块进行加速算法

ml

机器学习模块(SVM,决策树,Boosting等等)

flann

Fast Library for Approximate Nearest Neighbors(FLANN)算法库

legacy

些已经废弃的代码库,保留下来作为向下兼容

你可能感兴趣的:(OpenCV 安装(一))