openCV第一简单入门(滤镜)

首先到OpenCV官网下载sdk,OpenCV是个开源的框架,有源代码开源参考。http://opencv.org/

//ImageUtil.h
#import 
#import 
#import 
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);

第一次转换是讲

你可能感兴趣的:(openCV第一简单入门(滤镜))