「图像处理」基于Opencv的一个美颜算法
本文是转载的,备份一下代码,方便自己查找。#!/usr/bin/env python# -*- coding:utf-8 -*-# @FileName:beauty.py# @Time:2020/6/29 15:37# @Author:Rainkimport osimport cv2def beauty_face(img):v1 = 3# 磨皮程度v2 = 1# 细节程度dx = v1 * 5#
·
本文是转载的,备份一下代码,方便自己查找。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :beauty.py
# @Time :2020/6/29 15:37
# @Author :Raink
import os
import cv2
def beauty_face(img):
v1 = 3 # 磨皮程度
v2 = 1 # 细节程度
dx = v1 * 5 # 双边滤波参数之一
fc = v1 * 12.5 # 双边滤波参数之一
p = 0.1
# 双边滤波
temp1 = cv2.bilateralFilter(img, dx, fc, fc)
temp2 = cv2.subtract(temp1, img);
temp2 = cv2.add(temp2, (10, 10, 10, 128))
# 高斯模糊
temp3 = cv2.GaussianBlur(temp2, (2 * v2 - 1, 2 * v2 - 1), 0)
temp4 = cv2.add(img, temp3)
dst = cv2.addWeighted(img, p, temp4, 1 - p, 0.0)
dst = cv2.add(dst, (10, 10, 10, 255))
return dst
dir = r"E:\Images"
file_names = os.listdir(dir)
files = [os.path.join(dir, name) for name in file_names]
cv2.namedWindow("SRC", cv2.WINDOW_NORMAL)
cv2.namedWindow("DST", cv2.WINDOW_NORMAL)
for file in files:
img = cv2.imread(file);
dst = beauty_face(img)
cv2.imshow("SRC", img)
cv2.imshow("DST", dst)
cv2.waitKey()
效果如下,总体来说还是很不错的:


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


所有评论(0)