相信很多人在照完照片之后都会选择修一下,亦或是开一个滤镜,磨皮这个词对经常修照片的人来说已经是基操,这个功能可以使图片变得更加的平滑从而增加照片的美感
那么利用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便士)
这只叫阿呆的小猫的效果更要明显一点