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


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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容