openCV第一简单入门(滤镜)
2017-04-14 本文已影响693人
一字码
首先到OpenCV官网下载sdk,OpenCV是个开源的框架,有源代码开源参考。http://opencv.org/
//ImageUtil.h
#import <UIKit/UIKit.h>
#import <opencv2/opencv.hpp>
#import <opencv2/imgcodecs/ios.h>
using namespace cv;
@interface ImageUtil : NSObject
+ (UIImage *)imageWithGray:(UIImage *)image;
@end
//ImageUtil.mm(引入混编需要将后缀改成mm)
+ (UIImage *)imageWithGray:(UIImage *)image{
//创建源文件
Mat mat_image_scr;
//将传入的image数据转换为OpenCV的可操作类型
UIImageToMat(image, mat_image_scr);
//创建一个滤镜图片存储文件
Mat mat_image_gray;
//对源文件mat_image_scr进行COLOR_BGR2GRAY颜色转换后传入mat_image_gray的空间
cvtColor(mat_image_scr, mat_image_gray, COLOR_BGR2GRAY);
//再将已经加好滤镜的图片文件转换为原始数据格式(BGR2GRAY ----> GRAY2BGR)
cvtColor(mat_image_gray, mat_image_scr, COLOR_GRAY2BGR);
//将处理好的OpenCV数据再转换为oc的image
return MatToUIImage(mat_image_scr);
}
代码什么的就看一下好了,实现滤镜效果(灰白)主要依靠的就是
cvtColor(mat_image_scr, mat_image_gray, COLOR_BGR2GRAY);
cvtColor(mat_image_gray, mat_image_scr, COLOR_GRAY2BGR);
第一次转换是讲