用Python获取可能是全网最全的杰尼龟表情包(第三弹)

阅读: 评论:0

用Python获取可能是全网最全的杰尼龟表情包(第三弹)

用Python获取可能是全网最全的杰尼龟表情包(第三弹)

根据前几篇文章,我们已经得到了大量包含杰尼龟的图片,接下来我们就对这些图片来做一些简单的处理,添加与图片相符的文字或是生成gif动图。

文字添加

迅哥曾经说过,没有文字的表情包是没有灵魂的。因此今天我们就用Python在图片上添加文字,先随便拿一张杰尼龟的图片。

这里我们采用PIL库来给图片的指定位置添加指定的文字,truetype函数来设置字体类型以及大小,text函数来添加指定颜色的文字。

def add_font(text):font&#uetype(&#f', 70)img=Image.open('a.jpg')draw=ImageDraw.Draw(((200,400),text,font=font,fill='white')img.save('add_font.jpg')

这些图片配上相符的文字后,有一种画龙点睛的错觉。你可能会想,一张一张加文字,和用P图有什么区别。恰巧,去年就有一篇专门研究给表情包添加相应文字的论文,用OCR提取表情包中的文字,采用对抗生成网络训练这些去掉文字的表情包,这个网络便能够在你输入新表情包的时候能给给出与该表情相符的文字,论文传送门放在最底部。

动图制作

之前我们是从剪切的图片中获取杰尼龟的图片,是大粒度的分类,现在我们需要来做一个小粒度的分类,即按照图片的相似性,把相似的图片分为一组,从而制作成为动图(这些相似的图片本就是视频之中的连续图片)。

我们可以采用平均哈希的做法来计算图片的相似度,具体可以参考你朋友圈发的假图被我发现了!这篇文章,通过比对图片的指纹来判断相似程度,另外我们还可以采用CV2的模板匹配算法来筛选相似图片。

这样便可以完成小粒度的筛选,我们可以将这些相似图片通过PIL库来生成gif动图。

def make_gif():gif_images=[]img_paths=os.listdir('gif')img_paths=[os.sep.join(['gif',i]) for i in img_paths]for path in img_paths:gif_images.append(imageio.imread(path))imageio.mimsave("a.gif",gif_images,fps=4)

至此,用Python获取可能是全网最全的杰尼龟表情包全系列完结撒花!

本文发布于:2024-01-31 04:02:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170664494725283.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:最全   表情   Python   是全网   杰尼龟
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23