用Python实现美化照片———磨皮

2024-01-17 17:11:03 浏览数 (1)

文章目录
  • 一、关键的API
  • 二、使用步骤
    • 1.引入库
    • 2.读入图片
  • 3.开始磨皮
  • 4.完整代码
  • 5.效果展示

相信很多人在照完照片之后都会选择修一下,亦或是开一个滤镜,磨皮这个词对经常修照片的人来说已经是基操,这个功能可以使图片变得更加的平滑从而增加照片的美感

那么利用Python也可以实现一键磨皮

下面将详细介绍如何用Python实现磨皮


一、关键的API

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

代码语言:javascript复制
cv2.bilateralFilter(img,d,a,b) #双边滤波

Opencv官方文档对它功能的简述是:“可以很好地减少不必要的噪声,同时保持边缘相当锐利”

参数:

img 输入一张图像

d 每个像素邻域的直径

a 高斯函数标准差

b 灰度值函数标准差

后面的三个值可以根据照片需要的美化程度来调节

一般推荐50,50,50

二、使用步骤

1.引入库

代码如下:

代码语言:javascript复制
import cv2

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

2.读入图片

代码如下(示例):

代码语言:javascript复制
img = cv2.imread('图片路径')

3.开始磨皮

代码语言:javascript复制
det = cv2.bilateralFilter(img, 50, 50, 50)

4.完整代码

代码语言:javascript复制
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便士)

这只叫阿呆的小猫的效果更要明显一点

0 人点赞