Latest 0.1.3
Homepage https://github.com/muzipiao/OOB
License MIT
Platforms ios 8.0
Dependencies OpenCV2
Frameworks Foundation, UIKit, AVFoundation
Authors

CI Status
Version
License
Platform

OOB
OOB
OOB

示例

下载分支后,先 cd 切换到当前 Example 文件夹目录下,然后执行 pod install ,完成后打开 OOB.xcworkspace 文件运行。

注意:由于 opencv2.framework 压缩包较大(约 146MB),网速比较慢的情况下,下载时间会较长;个别网络(如长城宽带)会一直下载失败,这种情况可手动集成。

环境需求

  • iOS 8+
  • ARC
  • OpenCV2
  • Foundation.framework
  • UIKit.framework
  • AVFoundation.framework

安装

CocoaPods

CocoaPods 是最简单方便的安装方法,编辑 Podfile 文件,添加

pod 'OOB'

然后执行 pod install 即可。

直接安装

  1. 直接安装 OOB 前,请先安装 OpenCV,参考我的一篇博客:iOS集成OpenCV博客
  2. 从 Git 下载最新代码,找到和 README 同级的 OOB 文件夹,将 OOB 文件夹拖入项目即可。
  3. 在需要使用的地方导入 #import "OOB.h" 即可。

用法

设置视频预览图层

设置视频预览图层,如果不设置则不展示预览视频,返回的目标坐标默认是全屏时的坐标。设置视频预览图层很简单,添加代码:

// 设置视频预览图层
[OOB share].preview = self.view;

调用图像识别

使用 OOB 很简单,在需要进行图像识别的地方,添加代码:

/**
* 开始图像识别
* targetImg: 待识别的目标图像
@param targetRect 目标图像在预览图层中的 frame
@param similarValue 目标模板与视频图像中图像的相似度
@return 识别图像在block中回调
*/
[[OOB share] matchTemplate:self.targetImg resultBlock:^(CGRect targetRect, CGFloat similarValue) {
  OOBLog(@"相似度:%.0f %%,目标位置:Rect:%@",similarValue * 100,NSStringFromCGRect(targetRect));
}];

Block 回调会返回目标位置,和对比的相似度,Block 刷新频率和视频帧率相同。

结束图像识别

识别任务结束,或当期视图销毁时,调用 [[OOB share] stopMatch]; 释放资源即可。

其他设置

切换目标图像,可随时切换

[OOB share].targetImage = [UIImage imageNamed:@"apple"];

切换前置后置摄像头

// 切换为后置摄像头
[OOB share].cameraType = OOBCameraTypeBack;
// 切换为前置摄像头
[OOB share].cameraType = OOBCameraTypeFront;

设置预览视频图像质量,默认预览视频尺寸 1920×1080

// 设置视频预览质量为高
[OOB share].sessionPreset = AVCaptureSessionPresetHigh;
// 设置视频预览尺寸为 640x480
[OOB share].sessionPreset = AVCaptureSessionPreset640x480;

设置相似度阈值,默认是 0.7,最大为 1。值设置的越小误报率高,值设置的越大越难匹配。

// 设置阈值为 0.8,识别更精确一些。
[OOB share].similarValue = 0.8;

生成一张标记目标的 UIImage 图片,自带一张矩形和一张圆形的标记图片。

// 更改标记框框颜色为深红色:R=254 G=67 B=101
[OOB share].markerLineColor =  [UIColor colorWithRed:254.0/255.0 green:67.0/255.0 blue:101.0/255.0 alpha:1.0];
// 更改标记框线宽为 8.0
[OOB share].markerLineWidth = 8.0;
// 更改矩形框切圆角半径为 8.0
[OOB share].markerCornerRadius = 8.0;
// 生成一张矩形标记框
UIImage *rectImage = [OOB share].rectMarkerImage;
// 生成一张椭圆标记框
UIImage *ovalImage = [OOB share].ovalMarkerImage;

许可

OOB在MIT许可下可用。有关详细信息,请参阅LICENSE文件。

Latest podspec

{
    "name": "OOB",
    "version": "0.1.3",
    "summary": "iOS u901au8fc7u6444u50cfu5934u56feu50cfu8bc6u522buff0cu57fau4e8e OpenCV u5b9eu73b0u3002",
    "description": "u57fau4e8e OpenCVuff0cu5f00u53d1 iOS u5e73u53f0u7684u56feu50cfu8bc6u522bu3002u524du671fu5f00u53d1u4f18u5316u57fau4e8eu201cu6a21u677fu5339u914du6cd5u201du7684u56feu50cfu8bc6u522b APIuff0cu540eu671fu8ba1u5212u5f00u53d1u57fau4e8e Haar u548c LBP u7b49u7279u5f81u7684u56feu50cfu5206u7c7bu5668u3002",
    "homepage": "https://github.com/muzipiao/OOB",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "lifei": "[email protected]"
    },
    "source": {
        "git": "https://github.com/muzipiao/OOB.git",
        "tag": "0.1.3"
    },
    "platforms": {
        "ios": "8.0"
    },
    "prefix_header_file": false,
    "static_framework": true,
    "source_files": "OOB/Classes/**/*",
    "dependencies": {
        "OpenCV2": []
    },
    "frameworks": [
        "Foundation",
        "UIKit",
        "AVFoundation"
    ]
}

Pin It on Pinterest

Share This