美文网首页
iOS 下安装opencv 3.4.1

iOS 下安装opencv 3.4.1

作者: onefishum | 来源:发表于2018-03-06 01:15 被阅读0次

iOS 下安装opencv 3.4.1

[TOC]

配置

建立xcode工程

下载opencv.framework

下载地址:https://www.opencv.org/releases.html

image.png

将解压好的opencv2.framework拖动到工程中

image.png

修改.m文件配置

需要将.m文件的Type设置为Objective-C++ Source,否则编译报错。


image.png

引入头文件

需要在引入UIKit之前引入,否则编译报错。

源码

//
//  ViewController.m
//  OpencvDemo
//
//  Created by onefish on 2018/3/6.
//  Copyright © 2018年 onefish. All rights reserved.
//
#import <opencv2/opencv.hpp>
#import <opencv2/imgproc/types_c.h>
#import <opencv2/imgcodecs/ios.h>

#import "ViewController.h"



@interface ViewController ()
{
    cv::Mat cvImage;
}
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    CGRect rect = [UIScreen mainScreen].bounds;
    self.imageView.frame = rect;
    
    // Convert UIImage * to cv::Mat
    UIImage *image = [UIImage imageNamed:@"IMG_1166.JPG"];
    
    UIImageToMat(image, cvImage);
    if (!cvImage.empty()) {
        cv::Mat gray;
        // Convert the image to grayscale;
        cv::cvtColor(cvImage, gray, CV_RGBA2GRAY);
        // Apply Gaussian filter to remove small edges
        cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2,1.2);
        // Calculate edges with Canny
        cv::Mat edges;
        cv::Canny(gray, edges, 0, 60);
        // Fill image with white color
        cvImage.setTo(cv::Scalar::all(255));
        // Change color on edges
        cvImage.setTo(cv::Scalar(0,128,255,255),edges);
        // Convert cv::Mat to UIImage* and show the resulting image
        self.imageView.image = MatToUIImage(cvImage);
    }
}


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


@end

相关文章

网友评论

      本文标题:iOS 下安装opencv 3.4.1

      本文链接:https://www.haomeiwen.com/subject/isokfftx.html