python 两点曲线_十行代码,用Python做一个迷你版的美图秀秀
美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以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做一个迷你版的美图秀秀相关推荐
- python 制作自己的新闻_新闻-十行代码,用Python做一个迷你版的美图秀秀
十行代码,用Python做一个迷你版的美图秀秀 2020-02-28 10:16:08 作者: 匿名 浏览量:65次 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让 ...
- 十行代码,我用Python做一个迷你版的美图秀秀!
美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...
- 十行代码,用Python做一个迷你版的美图秀秀
美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...
- 【Python】我用十行代码做了一个迷你版的美图秀秀
前言 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页 ...
- 用Python写了一个网页版的美图秀秀,惊呆了
今天小编用Python做了一个网页版的"P图软件",大致的流程在于我们可以将上传的照片进行黑白处理.铅笔素描处理.模糊化处理等一系列操作,具体如下 下面我们来看一下该整个网页是怎么 ...
- typescript用什么软件写_用TypeScript写了个低配版H5美图工具
前言 最近两月在学习canvas时候,发现很多有意思的技术能力,特别是在图像处理这一领域.让我想起大学课堂教学的<数字图像处理>(冈萨雷斯 版本).但是很遗憾的是,大学上完课应付考试后全部 ...
- python制作u盘病毒_十行代码--用Python写一个USB病毒!
大家好,我又回来了. 昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun ...
- python整数反转_敲代码学Python:力扣简单算法之整数反转
学习重点:整数逆序算法 力扣(LeetCode)原题leetcode-cn.com ''' 功能:整数反转 来源:https://leetcode-cn.com/explore/featured/c ...
- canvas节点无法导出图片_开源小程序,练手必备,仿“美图秀秀”处理图片。
微信小程序:图片裁剪.缩放.涂鸦.添加文字.拼长图.拼相框.表情包制作.便捷的图片编辑工具. 图片编辑小程序--HiPhoto 全能.便捷的图片编辑工具.实现了图片裁剪.添加文字.涂鸦.拼长图.拼相框 ...
最新文章
- 你用iPhone打游戏,有人却用iPhone来训练神经网络
- 开发日记-20190704 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 10
- ES6中定义的类和对象
- SSH框架整合的流程
- 使用numpy实现神经网络模块
- php 生成excel空白,phpexcel库在localhost上运行良好,但在服务器中生成空白的excel文件...
- 解决:Ubuntu18.04配置exoprt LC_ALL=C后无法打开终端
- app下载 微信扫码打开 提示用户用浏览器打开
- Android VelocityTracker简介
- 用selenium做模拟登录163邮箱(有两种方式,行为链)
- python基础教程 ppt_Python基础教程第2章ppt
- 校园招聘-2017美团后台开发内推笔试编程题
- 腾讯云短信服务错误码列表
- Halcon 学习笔记八:颜色识别
- verilog prbs
- ABB机器人编程示例
- 前端MUI+H5+HBuilderX开发APP(IOS,android),后台Springboot,java学习与实践文章,更新中(二)
- 2022-11-12-读书
- python爬取豆瓣读书并进行图形化分析
- 在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?...