在上篇文章中整理了自定义方法实现图片美白,下面介绍一下使用openC实现图片美白。
第一步:下载openCV的framework。
openCV官方网址:http://opencv.org
第二步:将framework导入工程。
再将framework导入工程中后,进行编译有可能会出现错误,自己这边出了如下错误。
解决方法是
中有重复的,删掉一个就可以了。
第三步:引入所需要的头文件。
#import <opencv2/opencv.hpp>
#import <opencv2/imgcodecs/ios.h>
第四步:创建命名空间
将涉及到的.m文件的文件名改为.mm
using namespace cv;
第五步:创建一个方法实现美白效果
+(UIImage *)openCVImageWhitening:(UIImage *)image:(int)MAX
{
Mat mat_image_src;
UIImageToMat(image, mat_image_src);
Mat mat_image_dst;
cvtColor(mat_image_src, mat_image_dst, CV_RGBA2RGB,3);
Mat mat_image_clone = mat_image_dst.clone();
for (int i = 0; i< MAX; i = i + 2)
{
bilateralFilter(mat_image_dst, mat_image_clone, i, i * 2, i / 2);
}
UIImage * newImage = MatToUIImage(mat_image_clone);
return newImage;
}
仅供学习使用,如有错误请见谅!