美文网首页
ios 平台下 OpenCV环境搭建

ios 平台下 OpenCV环境搭建

作者: KeyboardLife | 来源:发表于2018-01-22 18:42 被阅读396次

    1.下载opencv for iOS,下载地址:http://opencv.org/,下载后直接解压即可,解压后为opencv2.framework框架。

    [图片上传中...(屏幕快照 2018-01-22 下午6.29.30.png-cf69f1-1516617000825-0)] 屏幕快照 2018-01-22 下午6.29.30.png

    2.新建一个Xcode的工程,命名ImportOpenCV选择“Add files ImportOpenCV” ->opencv2.framework,导入opencv2.framework库。


    44350F07-0F62-4BA9-972F-26F916F04506.png

    3.ViewController.m修改为ViewController.mm,导入头文件

    #import <opencv2/opencv.hpp>
    #import <opencv2/imgproc/types_c.h>
    #import <opencv2/imgcodecs/ios.h>
    

    这里需要注意的是上述opencv头文件的引用必须放置在oc头文件引用之前如下:


    BE093BD9-C1D5-4E63-A151-9F0D2F440295.png

    否则会报如下错误:


    F1FC35F3-7691-4CA7-A13B-7BD09466BF99.png

    根据苹果提示将opencv头文件引用置于oc头文件引用之前

    添加如下代码:

    
    @interface ViewController ()
    {
        cv::Mat cvImage;
    }
    @property (weak, nonatomic) IBOutlet UIImageView *imgView;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
       
        UIImage * image = [UIImage imageNamed:@"bg"];
        UIImageToMat(image, cvImage);
        if (!cvImage.empty()) {
            
            cv::Mat gray;
            
            //将图像转换为灰度显示
            cv::cvtColor(cvImage, gray, CV_RGB2GRAY);
            
            //应用高斯滤波器去除小的边缘
            cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2,1.2);
            
            //计算与画布边缘
            cv::Mat edges;
            cv::Canny(gray, edges, 0, 50);
            
            //使用白色填充
            cvImage.setTo(cv::Scalar::all(225));
            
            //修改边缘颜色
            cvImage.setTo(cv::Scalar(0,128,255,255),edges);
            
            //将Mat转换为xcode的UIImageView显示
            self.imgView.image = MatToUIImage(cvImage);
    
        }
    
    }
    

    编译运行效果图如下:


    8A2B2CBB-62A9-41A2-BBA3-1279EAE54A12.png

    相关文章

      网友评论

          本文标题:ios 平台下 OpenCV环境搭建

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