OpenCV framewrok 下載地址:iOS pack 2.4
下載好后,將opencv2.framework拖入工程。
然后在需要的地方引入#import <opencv2/opencv.hpp>
。
這里需要注意兩點:
- 需要將.m文件的Type設置為Objective-C++ Source,否則編譯報錯。
image.png -
需要在引入UIKit之前引入,否則編譯報錯。
image.png
將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 (我最近使用這個期間,有時候會導致圖片只剩一半,所以建議還是使用上一個)