python数据处理高斯滤波_python图像处理磨皮

本文介绍如何使用Python进行图像磨皮处理,通过双边滤波降噪并结合高斯滤波,实现自然的美图效果。示例展示了处理前后的对比,并提供了相关代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇是利用python来对图像进行磨皮祛斑,对人脸进行“美图”,首先来上效果图,第一张是原图,第二张是磨皮后的图(图源自互联网),可以看出效果挺好而且很自然不会很失真

38580afa9131f5da234bfca85d7a908e.png

f59021a3b7da3cde6a319c58fec3ed30.png

整个过程和基本代码如下:

先用双边滤波进行降噪,双边滤波是一种非线性滤波,能够达到去噪保边的效果。相比高斯滤波,还考虑了灰度相似性,所以双边滤波是结合图像的空间邻近度和像素值相似度的一种折衷处理。

temp1 = cv2.bilateralFilter(img, 75, 255, 5)

5109f304eca3459e5905ce3e46c483e3.png

然后将降噪后的图像减去原图像,提取需要处理的部分,可以可能到脸部有许多白色的斑点。

temp2 = cv2.subtract(temp1, img)

db9c451a7034c2bb314f29b8bfdadd5e.png

再对提取来的部分进行高斯降噪处理

temp3 = cv2.GaussianBlur(temp2, (5,5), 0)

e1e5eb90b619b11c2fc19224f8c9557a.png

可以看到脸上那些点被消除了,脸布变得平滑了
        temp4 = cv2.add(img, temp3)
然后再将降噪处理的部分和原图相加,获得最终磨皮后的图

f59021a3b7da3cde6a319c58fec3ed30.png

所有代码:

        import cv2        img = cv2.imread("pic")                temp4 = np.zeros_like(img)        temp1 = cv2.bilateralFilter(img, 75, 255, 5)        cv2.imshow("temp1 ", temp1)        temp2 = cv2.subtract(temp1, img)        cv2.imshow("temp2 ", temp2)        temp2 = cv2.add(temp2, (10, 10, 10, 128))        # cv2.imshow("temp 2_2", temp2)        # temp3 = cv2.GaussianBlur(temp2, (2 * v2 - 1, 2 * v2 - 1), 0)        temp3 = cv2.GaussianBlur(temp2, (5,5), 0)        cv2.imshow("temp 3", temp3)        temp4 = cv2.add(img, temp3)        cv2.imshow("temp 4", temp4)        dst = cv2.addWeighted(dst, p, temp4, 1 - p, 0.0)        dst = cv2.add(dst, (10, 10, 10, 255))        cv2.imshow("results ", dst)

相关阅读:https://mp.weixin.qq.com/s/MxtZp-XF4uuihLYecNpQkg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值