相信很多人在照完照片之后都会选择修一下,亦或是开一个滤镜,磨皮这个词对经常修照片的人来说已经是基操,这个功能可以使图片变得更加的平滑从而增加照片的美感
那么利用Python也可以实现一键磨皮
下面将详细介绍如何用Python实现磨皮


一、关键的API

实现磨皮的关键API是双边滤波

cv2.bilateralFilter(img,d,a,b) #双边滤波

Opencv官方文档对它功能的简述是:“可以很好地减少不必要的噪声,同时保持边缘相当锐利”
参数:
img 输入一张图像
d 每个像素邻域的直径
a 高斯函数标准差
b 灰度值函数标准差
后面的三个值可以根据照片需要的美化程度来调节
一般推荐50,50,50

二、使用步骤

1.引入库

代码如下:

import cv2

没有按装OpenCV的,可以看一下另一篇博客如何在Pycharm中利用镜像地址安装OpenCV

2.读入图片

代码如下(示例):

img = cv2.imread('图片路径')

3.开始磨皮

det = cv2.bilateralFilter(img, 50, 50, 50)

4.完整代码

import cv2
#创建窗口
cv2.namedWindow('src', cv2.WINDOW_NORMAL)
cv2.namedWindow('det', cv2.WINDOW_NORMAL)
# 读入图片
img = cv2.imread('D:/shijue/111.jpg')
cv2.imshow('src', img)
# 双边滤波
det = cv2.bilateralFilter(img, 50, 50, 50)
cv2.imshow('det', det)
cv2.waitKey(0)

5.效果展示

每到OpenCV的展示案例就知道Lena要登场了(ps:总感觉Lena约等于衬衫的价格是9榜15便士)
在这里插入图片描述
这只叫阿呆的小猫的效果更要明显一点
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐