使用opencv实现美颜(磨皮、祛痘)

头文件

#include <iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;

在这里插入图片描述

磨皮祛痘算法

Mat mopi(Mat src)
{
	int  slider = 0;
	Mat blur, add, Lap,add1;
	namedWindow("美颜");
	while (1) {
		createTrackbar("美颜", "美颜", &slider, 10, on_trackbar);
		bilateralFilter(src, blur, 10, 100, 100);
		addWeighted(src, (10.0 - slider) / 10.0, blur, (slider) / 10.0, 0, add, -1);
		setMouseCallback("美颜", onMouse, 0);
		inpaint(add, inpaintMask, add1, 30, CV_INPAINT_TELEA);
		imshow("美颜", add);
		imshow("美", add1);
		waitKey(10);
	}
	return add;
}

图像对比

磨皮后图片

在这里插入图片描述

祛痘前

在这里插入图片描述

祛痘

在这里插入图片描述

祛痘后

在这里插入图片描述
参数没调,效果一般,主要代码如上,比较简易。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐