python卡通滤镜_用Python实现Instagram滤镜,变成百变女神!

原标题:用Python实现Instagram滤镜,变成百变女神!

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

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

1

设计思路

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

程序启动后,首先读取图片并选择采用的滤镜模式,这里有9种滤镜的模式,分别为Inkwell、Sepia、Gotham、Nashville、Poprocket、Negative、LOMOfi、Walden和Cartoonifier。为了更好的让大家对九种滤镜有更深的了解,小编特意做了一个图展示给大家。如下图所示:

上图中展示的是原图和除了Cartoonifier之外的其他8种滤镜效果,对于Cartoonifier滤镜效果,大家可以参考之前公众号推出的《 熬了一夜!我用Python做了一个网站,帮小姐姐生成漫画头像 》中的效果图。可以看到,不同的滤镜之下,小姐姐展现出来的风格也是不相同的,当然,每一种滤镜对应的最合适的效果也是不同的,需要大家自己去不断的搭配,去尝试。

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

2

程序介绍

接下来,我们来了解一下程序的构成吧,对于滤镜的算法,小编采用的是GitHub上的satchit24所实现的滤镜算法库,由于作者提供的展示和使用效果对用户不友好,因此小编采用flask对于程序进行了包装。为了更方便的大家了解滤镜的算法,小编拿Inkwell算法来为大家解释一下程序,如下图所示:

上图便是Inkwell程序的核心,首先程序将图片从0到255转变成0到1之间,然后按比例混合三个通道的数值,利用高斯滤波来去除噪声,最后再将数值限定在[0,1]的范围内即可。对于其他的滤镜算法,大家也可以自己进行分析。

3

结合Flask进行设计

下面我们结合flask进行讲解,首先,程序flask程序启动后,会让我们输入图片,并选择一个滤镜,如下图所示:

大家只需要按照上述的三步,选择滤镜种类,然后点击选择本地图片,然后点击上传按钮即可,接着程序便会执行下图的函数。

上述的程序中,首先会根据传入的图片和滤镜的类型,对图片进行处理,然后返回处理好的图片的保存地址,并传入到html文件中。然后html文件会读取图片的地址进行显示。

4

视频展示

以上就是小编对于程序部分的讲解,接下来小编将通过视频展示的形式,让大家更清晰的看出程序是如何运行的。

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

需要源码的同学,直接扫码获取。

后台输入:【 滤镜】返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于提供的引用内容,我理解您想要了解如何使用PythonInstagram进行交互。Instagram官方并没有提供API来让开发者直接访问其数据,但是可以使用Python的第三方库来模拟用户在Instagram网站上的操作,例如登录、浏览、点赞、评论等。下面是一个使用Python和Selenium库来模拟登录Instagram并获取用户信息的例子: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # 设置Chrome浏览器的驱动程序路径 driver_path = '/path/to/chromedriver' # 创建一个Chrome浏览器实例 driver = webdriver.Chrome(executable_path=driver_path) # 打开Instagram登录页面 driver.get('https://www.instagram.com/accounts/login/') # 等待页面加载完成 time.sleep(2) # 输入用户名和密码并登录 username = driver.find_element_by_name('username') password = driver.find_element_by_name('password') username.send_keys('your_username') password.send_keys('your_password') password.send_keys(Keys.RETURN) # 等待登录完成 time.sleep(5) # 获取用户信息 driver.get('https://www.instagram.com/your_username/') followers = driver.find_element_by_xpath('//a[@href="/your_username/followers/"]/span') following = driver.find_element_by_xpath('//a[@href="/your_username/following/"]/span') posts = driver.find_element_by_xpath('//span[@class="g47SY "]') print('Followers:', followers.text) print('Following:', following.text) print('Posts:', posts.text) # 关闭浏览器 driver.quit() ``` 需要注意的是,使用Python和Selenium模拟用户操作可能会违反Instagram的服务条款,因此请谨慎使用。另外,Instagram的网页结构可能会随时更改,上述代码可能需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值