首页 >> 大全

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

2024-01-04 大全 34 作者:考证青年

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

文字添加

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

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

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

def add_font(text):font=ImageFont.truetype('simhei.ttf', 70)img=Image.open('a.jpg')draw=ImageDraw.Draw(img)draw.text((200,400),text,font=font,fill='white')img.save('add_font.jpg')

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

动图制作

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

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

我们可以采用平均哈希的做法来计算图片的相似度,具体可以参考你朋友圈发的假图被我发现了!这篇文章,通过比对图片的指纹来判断相似程度,另外我们还可以采用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)

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

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了