iOS之OpenCV (一)不同颜色空间转换

2017-06-01  本文已影响0人  南枫小谨


       最近在学习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];

你就可以看到图像处理后的效果了

上一篇下一篇

猜你喜欢

热点阅读