月圆之夜,紫禁之巅,一剑西来,天外飞仙。

0%

iOS学习笔记--图片美白(二)

在上篇文章中整理了自定义方法实现图片美白,下面介绍一下使用openC实现图片美白。


第一步:下载openCV的framework。
openCV官方网址:http://opencv.org

第二步:将framework导入工程。
再将framework导入工程中后,进行编译有可能会出现错误,自己这边出了如下错误。

解决方法是

第三步:引入所需要的头文件。

1
2
#import <opencv2/opencv.hpp>
#import <opencv2/imgcodecs/ios.h>

第四步:创建命名空间
将涉及到的.m文件的文件名改为.mm

1
using namespace cv;

第五步:创建一个方法实现美白效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
+(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;
}

仅供学习使用,如有错误请见谅!