美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽。今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传需要美颜的图片,然后就可以从网页下载美颜好的图片。

01

整体设计

首先我们需要实现的是美图秀秀的功能,在一幅图中,我们看起来的非常粗糙的点,可以视作是一些噪声,而我们就需要借助工具去去除这些噪声,使得图像看起来更加平滑。这里我们采用的是双边滤波来过滤掉这些噪声。双边滤波是将图像的像素点从空间上的邻近程度,和像素值之间的相似程度两个方面去考虑,从而叫做双边,即同时考虑两方面的信息。如下图所示 :

上图中的两点就是我们的两个像素,他们之间的空间距离体现出了邻近程度,而两个像素值的大小(图中的70、80)则是体现出了像素之间的像素值相似度。双边滤波可以很好的保留图像中的边缘细节,使得我们的图像在很好的过滤噪声的同时,使得图像不会过于的失真,也就是使得图像看起来很自然,P的痕迹不明显。程序如下图所示:

这里我们使用opencv中集成的双边滤波算法,这个value值表示在过滤的过程中,图像中的每个像素领域的直径范围,这个值越大,图片中的噪声滤除的越好,但是图片看上去也会越像是P过的,而这个值越小,则图片美颜的效果会越差。

这里小编实验得出,28左右时效果比较好,我们使用opencv读入图片,然后将图片进行滤波,将滤波后的图片写入到指定的本地文件中,并将文件的路径返回。下图展示的是美颜前后的图片对比,可以看出,美颜效果还是很好的,只用区区十行代码就可以完成美颜的效果。

02

用Flask操刀实战

接下来我们就来完成Flask部分的编写,Flask是基于python的轻量级 Web 应用框架。上手也比较快,程序如下图所示。

程序中首先调用index函数,并返回我们写好的index.html的网页,我们只需点击程序给出的默认链接,便会自动打开网页,如下图所示。

在网页中我们点击选择文件,选择我们需要美颜的图片,然后点击上传,网页便会将我们提交的表单信息返回,程序便会跳转到我们的beauty子页面并执行我们写好的beauty函数。在函数中,我们首先取出的图片名称,并判断我们上传的图片类型是不是符合我们的要求,然后我们执行之前写好的美颜函数Beauty,将美颜好的图像进行保存,并返回保存的路径。接着我们再将路径信息提供给网页,网页通过html标记语言,访问美颜图片的路径进行显示,效果如下所示:

我们接下来就可以将美颜好的图片进行另存为即可。最后,小编以视频的形式来展现一下程序的整个流程,大家如果喜欢的话,就可以现在下载源码,学习起来吧。

视频展示:

关于源码,我们到时会录制视频,详细跟大家讲一下步骤和源码解读,会放在B站上,敬请期待!

另外说一下,我们B站的名字被抢注了

目前菜鸟学Python B站的官方号

菜鸟玩Python

目前已完成的视频录制如下:

  • 用Python做一个元宵节的灯谜小程序

  • 用Python集齐五福

  • 用Python批量做海量的小姐姐素描图

  • 用Python做一个缩放自如的圣诞老人

 点击阅读原文,尝鲜B站视频

python 两点曲线_十行代码,用Python做一个迷你版的美图秀秀相关推荐

  1. python 制作自己的新闻_新闻-十行代码,用Python做一个迷你版的美图秀秀

    十行代码,用Python做一个迷你版的美图秀秀 2020-02-28 10:16:08 作者: 匿名 浏览量:65次 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让 ...

  2. 十行代码,我用Python做一个迷你版的美图秀秀!

    美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...

  3. 十行代码,用Python做一个迷你版的美图秀秀

    美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...

  4. 【Python】我用十行代码做了一个迷你版的美图秀秀

     前言 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页 ...

  5. 用Python写了一个网页版的美图秀秀,惊呆了

    今天小编用Python做了一个网页版的"P图软件",大致的流程在于我们可以将上传的照片进行黑白处理.铅笔素描处理.模糊化处理等一系列操作,具体如下 下面我们来看一下该整个网页是怎么 ...

  6. typescript用什么软件写_用TypeScript写了个低配版H5美图工具

    前言 最近两月在学习canvas时候,发现很多有意思的技术能力,特别是在图像处理这一领域.让我想起大学课堂教学的<数字图像处理>(冈萨雷斯 版本).但是很遗憾的是,大学上完课应付考试后全部 ...

  7. python制作u盘病毒_十行代码--用Python写一个USB病毒!

    大家好,我又回来了. 昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun ...

  8. python整数反转_敲代码学Python:力扣简单算法之整数反转

    学习重点:整数逆序算法 力扣(LeetCode)原题​leetcode-cn.com ''' 功能:整数反转 来源:https://leetcode-cn.com/explore/featured/c ...

  9. canvas节点无法导出图片_开源小程序,练手必备,仿“美图秀秀”处理图片。

    微信小程序:图片裁剪.缩放.涂鸦.添加文字.拼长图.拼相框.表情包制作.便捷的图片编辑工具. 图片编辑小程序--HiPhoto 全能.便捷的图片编辑工具.实现了图片裁剪.添加文字.涂鸦.拼长图.拼相框 ...

最新文章

  1. 你用iPhone打游戏,有人却用iPhone来训练神经网络
  2. 开发日记-20190704 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 10
  3. ES6中定义的类和对象
  4. SSH框架整合的流程
  5. 使用numpy实现神经网络模块
  6. php 生成excel空白,phpexcel库在localhost上运行良好,但在服务器中生成空白的excel文件...
  7. 解决:Ubuntu18.04配置exoprt LC_ALL=C后无法打开终端
  8. app下载 微信扫码打开 提示用户用浏览器打开
  9. Android VelocityTracker简介
  10. 用selenium做模拟登录163邮箱(有两种方式,行为链)
  11. python基础教程 ppt_Python基础教程第2章ppt
  12. 校园招聘-2017美团后台开发内推笔试编程题
  13. 腾讯云短信服务错误码列表
  14. Halcon 学习笔记八:颜色识别
  15. verilog prbs
  16. ABB机器人编程示例
  17. 前端MUI+H5+HBuilderX开发APP(IOS,android),后台Springboot,java学习与实践文章,更新中(二)
  18. 2022-11-12-读书
  19. python爬取豆瓣读书并进行图形化分析
  20. 在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?...

热门文章

  1. WPF Touch双击事件
  2. MAC搭建kafka客户端以及实现生产消费
  3. 定制Eclipse的Content assist(代码补全),比如空格键不上屏
  4. 分形递归打印 hrbust 2291
  5. JavaScript读写Cookie
  6. 软件工程视频——可行性研究
  7. 四大資本力推:Spacecraft 星際母艦 NFT 項目未發先火
  8. 职业学校计算机技能标语,职业学校实训车间激励类标语口号
  9. layUI实现排行榜效果
  10. 轻松了解办公室强弱电综合布线施工