美颜相机-磨皮实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_36810544/article/details/88720341

主要参考了《使用OPENCV简单实现具有肤质保留功能的磨皮增白算法》这篇文章,我使用了python实现,最主要的是直接按原文公式算的话,我这里一直有个问题就是原图中纯色的地方处理后会出现色彩斑点而且非常严重,不知道原作者是否有这个情况,所以我又做了略微改动,修复了这个bug。
======================== 一切不给定妆照的都是耍流氓 ========================
在这里插入图片描述代码很简单:

import cv2

def skin_white(img):
    value1 = 3
    value2 = 1
    opacity = 0.1
    dx = value1 * 5
    fc = value1 * 12.5

    temp_img = cv2.bilateralFilter(img, dx, fc, fc)
    temp_img = temp_img - img + 128
    temp_img = cv2.GaussianBlur(temp_img, (2 * value2 - 1, 2 * value2 - 1), 0)
    temp_img = img + temp_img - 128
    dst = cv2.addWeighted(img, opacity, temp_img, (1 - opacity), 0)
    return dst
 img = cv2.imread('1.jpg')
 dst = skin_white(img)
 cv2.imwrite('1_face.jpg',dst)

猜你喜欢

转载自blog.csdn.net/qq_36810544/article/details/88720341