Opencv在xcode中的配置


       OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

      今天配置了xcode中的opencv,网上看了很多的教程,觉得自己还是配置一下遇到了不少问题

配置环境 xcode6.0

1.下载opencv2.framework包。

2.将opecv拖入到工程中。

3.引入头文件

#import <opencv2/highgui/cap_ios.h>
#import <opencv2/imgproc/imgproc_c.h>
#include <opencv2/imgproc/imgproc.hpp>

之前做的时候只是引入第一个就可以了,

本例子中是将摄像头打开后将图像黑白画显示在手机上,所以要建立一个UIImageView 和一个Button

下面是.h文件

@interface ViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIImageView *imageView;
- (IBAction)didClickCreamButton:(id)sender;

@end

下面是.m文件

#import "ViewController.h"
#import <opencv2/highgui/cap_ios.h>
#import <opencv2/imgproc/imgproc_c.h>
#include <opencv2/imgproc/imgproc.hpp>


using namespace cv;

@interface ViewController ()<CvVideoCameraDelegate>
{

    
}

@property (nonatomic,retain)CvVideoCamera *videoCamera;

@end

@implementation ViewController
            
- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.videoCamera = [[CvVideoCamera alloc] initWithParentView:_imageView];
    self.videoCamera.delegate = self;
    self.videoCamera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionFront;
    self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset352x288;
    self.videoCamera.defaultAVCaptureVideoOrientation = AVCaptureVideoOrientationPortrait;
    self.videoCamera.defaultFPS = 30;
    self.videoCamera.grayscaleMode = NO;
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)processImage:(cv::Mat &)image
{
    // Do some OpenCV stuff with the image
    Mat image_copy;
    cvtColor(image, image_copy, CV_BGRA2BGR);
    
    // invert image
    bitwise_not(image_copy, image_copy);
    cvtColor(image_copy, image, CV_BGR2BGRA);
    
// h ttp://stackoverflow.com/questions/16032845/opencv2-cvtcolor-does-not-work
    
    
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)didClickCreamButton:(id)sender {
    
    [self.videoCamera start];
    
}
@end

还要加入类文件

这时候配置就结束了 现在运行一下就可以看到图像了


这样出现说明你配置成功了。

在做的过程中由于opencv是基于C++的在最好把.m文件改为.mm

之前做过一次 我只是引入了

#import <opencv2/highgui/cap_ios.h>
可以后来必须引入后面的才行后面两个是processImage中要用到的。

这个是遇到问题的找到的解决方法:

 http://stackoverflow.com/questions/16032845/opencv2-cvtcolor-does-not-work


Demo下载地址:https://github.com/thinkma/openCV.git



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值