用Python实现Instagram滤镜,变成百变女神!

用Python实现Instagram滤镜,变成百变女神!
对于Instagram滤镜,想必有过Instagram使用经历的小伙伴应该十分清楚,而没有用过的也听说过Instagram吧。Instagram滤镜实际上就是利用各种算法对图片从色彩、对比度、亮度等方面进行调节,来实现图像的各种特殊效果。如下图所示:

用Python实现Instagram滤镜,变成百变女神!
上面的图片中,左上角就是我们拍出来的原图,而其余三张图片就是我们利用不同的滤镜制作出来的效果,可以看到,不同滤镜下的小姐姐,展示出了不同的魅力,学会使用滤镜,绝对是必不可少的。

1
设计思路

今天小编就带领大家实现一个flask和滤镜算法相结合的程序,首先,我们来看一下,程序的设计思路。
用Python实现Instagram滤镜,变成百变女神!

程序启动后,首先读取图片并选择采用的滤镜模式,这里有9种滤镜的模式,分别为Inkwell、Sepia、Gotham、Nashville、Poprocket、Negative、LOMOfi、Walden和Cartoonifier。为了更好的让大家对九种滤镜有更深的了解,小编特意做了一个图展示给大家。如下图所示:
用Python实现Instagram滤镜,变成百变女神!
上图中展示的是原图和除了Cartoonifier之外的其他8种滤镜效果,对于Cartoonifier滤镜效果,大家可以参考之前公众号推出的《》中的效果图。可以看到,不同的滤镜之下,小姐姐展现出来的风格也是不相同的,当然,每一种滤镜对应的最合适的效果也是不同的,需要大家自己去不断的搭配,去尝试。

用Python实现Instagram滤镜,变成百变女神!
上图中,最上面的图片是原图,而下面的两张图中,显示的是不同的滤镜,我们可以看到最下面的右边的图更能突出秋天的意境之美,而最下面的左图则完全不能展现出秋天的美。

2
程序介绍

接下来,我们来了解一下程序的构成吧,对于滤镜的算法,小编采用的是GitHub上的satchit24所实现的滤镜算法库,由于作者提供的展示和使用效果对用户不友好,因此小编采用flask对于程序进行了包装。为了更方便的大家了解滤镜的算法,小编拿Inkwell算法来为大家解释一下程序,如下图所示:
用Python实现Instagram滤镜,变成百变女神!
上图便是Inkwell程序的核心,首先程序将图片从0到255转变成0到1之间,然后按比例混合三个通道的数值,利用高斯滤波来去除噪声,最后再将数值限定在[0,1]的范围内即可。对于其他的滤镜算法,大家也可以自己进行分析。

3
结合Flask进行设计

下面我们结合flask进行讲解,首先,程序flask程序启动后,会让我们输入图片,并选择一个滤镜,如下图所示:
用Python实现Instagram滤镜,变成百变女神!
大家只需要按照上述的三步,选择滤镜种类,然后点击选择本地图片,然后点击上传按钮即可,接着程序便会执行下图的函数。
用Python实现Instagram滤镜,变成百变女神!
上述的程序中,首先会根据传入的图片和滤镜的类型,对图片进行处理,然后返回处理好的图片的保存地址,并传入到html文件中。然后html文件会读取图片的地址进行显示。

Python是不是很有趣啊,除了传统的爬虫,数据分析,自动化办公,运维这些应用场景之外,其实在图片,音频,视频方面的处理更有趣,尤其是结合的 AI之后,简直就是牛逼的无敌了,没办法谁叫Python轮子多呢。

原文始发于微信公众号(菜鸟学Python):

本站内容来源于网络,转载请注明出处和链接!
本文链接地址: https://pumpkinit.com/1407.html
南瓜  [https://pumpkinit.com]  感谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注