OpenCV framewrok 下载地址:iOS pack 2.4
下载好后,将opencv2.framework拖入工程。
然后在需要的地方引入#import <opencv2/opencv.hpp>
。
这里需要注意两点:
- 需要将.m文件的Type设置为Objective-C++ Source,否则编译报错。
-
需要在引入UIKit之前引入,否则编译报错。
将Mat转换为UIImage
因为在OpenCV C++中,使用的是Mat
来存储图像数据,不能直接显示在iOS UI中,需要转换为UIImage
。
这里有官方提供的代码OpenCV iOS - Image Processing。
也可以#import <opencv2/imgcodecs/ios.h>
:
UIImage* MatToUIImage(const cv::Mat& image);
void UIImageToMat(const UIImage* image, cv::Mat& m, bool alphaExist = false);
也可以用别人封好的CategoryUIImage+OpenCV.h (我最近使用这个期间,有时候会导致图片只剩一半,所以建议还是使用上一个)