本文是转载的,备份一下代码,方便自己查找。

#!/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()

效果如下,总体来说还是很不错的:

GitHub 加速计划 / opencv31 / opencv
77.34 K
55.71 K
下载
OpenCV: 开源计算机视觉库
最近提交(Master分支:25 天前 )
e1fec156 features2d: fixed out of bounds access in SIFT 3 天前
63087396 - 3 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐