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



示例

下载分支后,先 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