Python制作表情包还能去掉马赛克?

在去马赛克教程之前我们先来说说表情包斗图这点事,有没有遇到这种时刻:朋友不断发来有趣又生动的表情包,连连霸屏你的聊天记录,你却半天才发出一句话,无图抵抗的囧态?今天小编教你一招逆袭!

本招瞬间秒杀你的斗图好友!表情包不仅仅是一张图片,一张动图,更是一种精神,是我们生活中的调味剂,慢慢一张张去寻找存在、保存再发送,是不是好累好麻烦?想想算了,斗图斗不过,打字也不想打,等着被KO?python在手,斗图无敌手!小编来救你(坏笑ing)

首先,用scrapy框架爬取某表情网站表情图,源码附赠:(本文源码和部分图片引用自:https://www.52pojie.cn/forum.phpmod=viewthread&tid=698696 )

import scrapy

import os,sys

import requests

import re

class scrapyone(scrapy.Spider):

name = "stackone"

start_urls = ["http://qq.yh31.com/ql/bd/"]

def parse(self,response):

hrf=response.xpath('//*[@id="main_bblm"]/div[2]/dl/dd/li')

for li in hrf:

item={}

href=li.xpath('a/@href').extract()

hreftext=li.xpath('a/text()').extract()

full_url = 'http://qq.yh31.com'+ ''.join(list(href))

hreftext=''.join(list(hreftext))

#文件夹名称

if hreftext=='>更多>':

continue

path = 'C:\GIF'

if not os.path.exists(path):

os.makedirs(path)

item['dirname']=hreftext

yield scrapy.Request(url=full_url,meta={'key':item},callback = self.parse1)

def parse1(self,response):

ite={}

full_url=[]

url1 = response.xpath('//*[@id="pe100_page_infolist"]/a[2]/@href').extract()

url2 = response.xpath('//*[@id="pe100_page_infolist"]/a[2]/@href').re('\d+')

url1 = ''.join(url1)

url1 = url1.split('_')

url2 = ''.join(url2)

ite['dirn']=response.meta['key']['dirname']

for i in range(1,int(url2)+1):

full_url='http://qq.yh31.com'+url1[0]+'_'+str(i)+'.html'

#print(full_url)

yield scrapy.Request(url=full_url,meta={'key1':ite},callback = self.parse2)

def parse2(self,response):

p1=response.meta['key1']['dirn']

resp = response.xpath('//*[@id="main_bblm"]/div[1]/li/dt/a')

path = 'C:\GIF\\'+''.join(p1)

if not os.path.exists(path):

os.makedirs(path)

for lst in resp:

alt = lst.xpath('img/@alt').extract()

src = lst.xpath('img/@src').extract()

src = 'http://qq.yh31.com'+ ''.join(list(src))

alt = ''.join(list(alt))

html=requests.get(src)

with open(path+'\\'+alt+'.gif', 'wb') as file:

file.write(html.content)

脚本执行方式:cmd-->切换到脚本所在目录-->scrapy runspider xxxx.py

最终成效

执行后会自动根据GIF分类在c:\gif文件夹下建立相应文件夹存储gif图片,想发那张发哪张,那么对于那些图片上的马赛克,你有没有很苦恼?如果上面的表情包爬取还不够满足你,那么接下来,教你如何去掉图片马赛克,先来看看效果图:

厉害不?

其实技巧是利用了Python中OPenCV的优势,标定马赛克的特征,使用CV2.inRange二值化标识马赛克对图片进行二值化处理;代码如下:

其次,使用OPenCV的dilate方法,扩展特征的区域,优化图片处理效果;

最后使用inpaint方法,把噪声的mask作为参数,推理并修复图片。python功能如此强大!想知道python还有什么厉害之处吗?

Python还有什么用?

Python除了极少的事情不能做之外,其他基本上可以说全能,系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等等。

Python是解释语言,程序写起来非常方便,写程序方便对做机器学习的人很重要。

Python的开发生态成熟,有很多有用的库可以用。相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样。

Python效率超高,解释语言的发展已经大大超过许多人的想象。毫无疑问使用Python语言的企业将会越来越多,Python程序猿的人才缺口也将越来越大,认准时机,把握机遇。

Python在手,就业无忧!

如今Python语言的学习已经上升到了国家战略的层面上。国家相关教育部门对于“人工智能普及”格外重视,不仅将Python列入到小学、中学和高中等传统教育体系中,并借此为未来国家和社会发展奠定了人工智能的人才培养基础,逐步由底层向高层推动“全民学Python”,从而进一步实现人工智能技术的推动和社会人才结构的更迭。

Python岗位年薪至少在10-20w之间,而且除了北、上、广、深外,杭州和合肥等二、三线城市的待遇正在与一线城市持平。

未来,无论你身处何地,都能享受到全国人工智能、Python“一盘棋”带来的“市场发展红利”。顺应潮流的风向标,Python人工智能工程师发展前途广阔。

原文发布于微信公众号 - 小詹学Python(xiaoxiaozhantongxue)

原文发表时间:2018-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏思影科技

AJP:使用ASL灌注导向的经颅磁刺激治疗强迫症

来自瑞士伯尔尼大学校医院的一项报告表明,对左DLPFC施加ASL导向的经颅磁刺激(rTMS),明显改善了一位OCD患者的症状。该报告发表在American Jo...

39970
来自专栏企鹅号快讯

微信又出新功能啦!

2017年的尾巴,微信来了一记重磅! ? ? 在玩之前,你需要把微信更新到最新版本,iOS用户可以在App Store下拉刷新,安卓用户按照“我-设置-关于微信...

24460
来自专栏大数据文摘

MIT想用社交圈美食图训练识菜谱的AI?先过麻婆豆腐这一关!

16930
来自专栏知晓程序

你的人生还剩多少天?这 4 个小程序,让你再也不敢浪费时间

今天,知晓程序(zxcx0101)就从中选出了 4 个特别适合「思考人生」的小程序,它们看似主题相仿,却脱胎于各不相同的立意。

12020
来自专栏腾讯大讲堂的专栏

如何才能更持久——耗电元凶

题外话: 大多数技术同学都有或多或少的分享过一些电量的心得,特别是那些自己组装个硬件去测电流的牛牛们,更是佩服的五体投地。不过在繁忙的版本迭代和铺天盖地的各种需...

28570
来自专栏顶级程序员

机械键盘,程序员的神器

正如男人对汽车,女人对指甲油的莫名热爱,机械键盘,是一个能够激发程序员肾上腺激素分泌的玩意儿。

65530
来自专栏镁客网

「视频」最智能的姨妈杯问世,分分钟秒杀姨妈巾!

18230
来自专栏数据的力量

42种网络学术搜索引擎大全--值得珍藏

44850
来自专栏大数据文摘

70多个网站让你免费获取大数据存储库

74580
来自专栏黑泽君的专栏

Qt学习前言

完全基于Linux真正成长起来的公司仍然寥寥无几,而奇趣试图在开源里找到一条独特的发展之路。

47810

扫码关注云+社区

领取腾讯云代金券