最近在学习OpenCV ,现在把自己学习的历程跟大家分享一下,将由浅入深持续更新,希望大家一起进步。
第一步 :创建一个OPenCVUtil 的类,引入头文件#import<opencv2/opencv.hpp> #import<opencv2/imgproc/types_c.h> #import<opencv2/imgcodecs/ios.h>
创建一个类方法 + (UIImage*)convertImage:(UIImage*)image
+ (UIImage*)convertImage:(UIImage*)image {
cv::Mat cvImage;
UIImageToMat(image, cvImage); //将UIImage 转换成 C++的image cvImage 为C++ 能处理的image
if(!cvImage.empty()){
cv::Mat output;
//从RGB转换为 灰度图像 output 为灰度图像
//cv::cvtColor(cvImage, output, CV_RGB2GRAY);
//转换成HLS L亮度 S饱和度 转化成这种的话方便调整饱和度
// cv::cvtColor(cvImage, output, CV_RGB2HLS);
// HSV 色彩空间 s是饱和度
cv::cvtColor(cvImage, output, CV_RGB2HSV);
return MatToUIImage(output); //将处理后的图像转换成UIIimage
}
return nil;
}
第二步:在 Viewcontroller 引入OpenCvUtil.h 在 viewDidLoad 添加如下代码
UIImageView *testImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
testImageView.image = [OpenCvUtil convertImage:[UIImage imageNamed:@"test"]];
[self.view addSubview:testImageView];
你就可以看到图像处理后的效果了