OpenCV-ios开发之一基本配置
来源:互联网 发布:为什么要使用zepto.js 编辑:程序博客网 时间:2024/06/10 07:02
先简单介绍下OpenCV,OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。说简单点,OpenCV可以实现人脸识别,检测,当然通过不断地训练,可以实现识别各种不同的物体。
我们可以从官网下载OpenCV-ios版本,目前应该是3.0版本以上了,我目前用的还是opencv2framework,如下图:
然后导入相关的头文件,这里我们用到了camera,如下图:
注意要先导入opencv的头文件,在导入ios相关的系统头文件,不然会报错。这里我们创建一个CvVideoCamera,代码入下:
self.videoCamera = [[CvVideoCamera alloc] initWithParentView:self.imgView]; self.videoCamera.delegate = self; self.videoCamera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionBack; self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset1280x720; self.videoCamera.defaultAVCaptureVideoOrientation=AVCaptureVideoOrientationPortrait; self.videoCamera.defaultFPS = 30; self.videoCamera.grayscaleMode = NO; [self.startButton addTarget:self action:@selector(startPressed:) forControlEvents:UIControlEventTouchUpInside];然后通过一个代理方法- (void)processImage:(cv::Mat &)image来获取视频流,代码如下:
-(void) startPressed:(UIButton *)button{ [self.videoCamera start];}- (void)processImage:(cv::Mat &)image{ cv::Mat canny_output;//临时变量和目标图的定义 cv::Mat midImage(self.imgView.bounds.size.height, self.imgView.bounds.size.width, CV_8UC1); //图像处理 cvtColor(image,midImage,CV_BGR2GRAY,0);//将图像转化为灰度图 //GaussianBlur(midImage,midImage,cv::Size(3,3),0,0); //高斯模糊 blur(midImage, midImage,cv::Size(3,3)); Canny(midImage, canny_output, 50,255 );// //轮廓提取 std::vector<std::vector<cv::Point>> contours; findContours(canny_output,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE); //轮廓拣选 image.setTo(cv::Scalar(0,255,0,0),canny_output); self.imgView.image=MatToUIImage(image); }
这样就实现了检测物体轮廓的功能,效果如下:
0 0
- OpenCV-ios开发之一基本配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 2.4.8或2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【转】【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- JS比较两个日期大小
- DNS基本指南,域名解析,A记录,MX,CNAME,URL Redirect(301),URL frame,ns,TXT Record
- 自定义画图形
- JZOJ 3.18 1507——【普及模拟】数列
- strftime格式代码
- OpenCV-ios开发之一基本配置
- 数字信号处理中卷积的图形化动态解释
- dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
- 26-《电子入门趣谈》第五章_仿真世界里的电子元器件-第一部分-Mutisim简介
- 欢迎使用CSDN-markdown编辑器
- Spring+SpringMVC+Mybatis简单配置和使用
- android 获取手机品牌
- opencl高斯源码整理
- 短信接口 阿里大于事例