python画动态表情包_真香!一行Python代码,帮你制作小姐姐的表情包,靠谱吗?...

原标题:真香!一行Python代码,帮你制作小姐姐的表情包,靠谱吗?

(我的IU女神)

对于小姐姐的动态表情包,相必我们大多数人都不会拒绝,而且都会选择默默的将其收藏(不要问我怎么知道的),一方面小姐姐的美貌会让人赏心悦目,另一方面也显得朋友间的交流更加的充满动态感。

为了更加丰富大家的“小姐姐表情包”,今天,小编就带领大家直接从视频中直接提取小姐姐的动态图,并逐步的深入,最终制作我们想要的动态表情包。

我们今天的讲解会沿着下面的线路进行,先一下整个的思路:

01.视频提取动态图

首先我们来进行第一部分的讲解——从视频中提取动态图。这一部分,我们采用moviepy函数库进行实现,我们结合下图的程序来讲解一下我们是如何实现的:

上述的程序中虽然短小精悍,但是做了很多事情:

首先实例化了一个VideoFileClip类对象;

然后我们将视频的时间范围根据自己的需求进行 裁剪, 其中参数中的(0, 2.22)指的是第0分钟2.22秒的时间, 我们将视频播放速度变为原来的0.3倍;

然后调整视频的大小为原来的一半;

最后保存为GIF图像;

大家可以看出,虽然程序有换行,但是程序本身就是一行代码而已。其效果如下所示:

02.裁剪图片区域

但是我们发现,图像的边缘存有空白的地方,是我们不需要的,我们需要的仅仅是图像本身,一次,我们对程序进行进阶处理,裁掉点我们不需要的部分,程序如下图所示:

相比于第一版的程序,我们加入了裁剪的范围,而这里的(x1,y1)和(x2, y2)分别指代的是视频中,我们想要裁剪范围的左上角横纵坐标和右下角的横纵坐标。加入范围裁剪后我们来展示一下效果:

03.添加文字

这样,我们就可以在以后的制作中,只保留住我们想要的区域即可。程序写到了这里,我们是不是还忘记了什么,对了,就是添加文字,程序如下图所示:

上述程序中,其实主要就完成了3件事情:

我们创建了一个TextClip类, 其中set_postion的左右是点明文字的位置相对于视频左上角的偏移量;

然后通过CompositeVideoClip类来讲文字和视频进行组合;

最后保存到指定的gif文件中即可;

程序结果如下图所示:

值得注意的是,上述的三个函数,如果大家想的话,都可以合并为一句代码进行执行,不过就会看起来比较复杂而已。如果完整展开的话,大概也就30几行代码。

好了,以上我们便完成了小姐姐动态表情包三步走的程序,相信大家通过程序的讲解也明白了如何去创建小姐姐的动态表情包了,大家也赶快按照文章给出的源码动手做起来吧!

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongodb分片

mongodb分片: 本次是用三台主机搭建3个集群(主、备、仲裁)作为三个分片,一个集群(主、备、备)做为config服务器,三个mongos单点做路由,每台5个,一共15个。 新建一个mongo…

批量添加PDF帐号目录

本文参考:https://blog.csdn.net/qq_34104395/article/details/78766400然后根据需要整理的。如作者介意请留言,本人会尽快处理! 准备材料: 下载工具FreePic2Pdf(在本博客上传资料上找PDF转换工具包) 找到…

驳斥5条普通流Tropes

我刚读完“ JDK 8收集器的强大功能的一种例外” ,我不得不说我很失望。 Java冠军 Simon Ritter是Oracle的前Java推广者,现在是Oracle的Java传播者,现在是Azul Systems的副CTO(使用JVM的人 )写了它,因此我希…

私网IP如何访问Internet

公网、内网是两种Internet的接入方式。 内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式: 10.x.x.x 172.16.x.x至172.31.x.x 192.168.x.x 内网的计算机以NAT(网络地址转换&#xf…

钉钉机器人发送图片 python_python封装钉钉Webhook机器人消息发送逻辑

python封装钉钉Webhook机器人消息发送逻辑,目前仅支持python2。安装pip install dingmsgapi初始化实例from ding_msg_api import MsgClient# Webhook机器人access_tokenmsgClient MsgClient("****************")发送Text消息from ding_msg_api import Te…

[LevelDB] 写批处理过程详解

leveldb的write代码初看瞎搞一堆,细看则实为短小精悍。1 Status DBImpl::Write(const WriteOptions& options, WriteBatch* my_batch) { 2  // -----A begin------- 3 Writer w(&mutex_); 4 w.batch my_batch; 5 w.sync options.sync; 6 w.d…

关于excel vba 使用CopyFromRecordset出现格式问题的解决方法

关于excel vba 使用CopyFromRecordset出现格式问题的解决方法 出现问题的写法: With ActiveSheet .Name k(i) For num 1 To UBound(myArray) .Cells(1, num) myArray(num, 1) Next num .rang…

python histo 改变 bins 大小_在Python中显示具有非常不均匀的bin宽度的直方图

这是直方图为了生成这个图,我做了:bins np.array([0.03, 0.3, 2, 100])plt.hist(m, bins bins, weightsnp.zeros_like(m) 1. / m.size)但是,正如您所注意到的,我想绘制每个数据点的相对频率的直方图,只有3个不同大小的区间:bin1 0.03 – > 0.3bin…

parted工具详解

通常我们用的比较多的一般都是fdisk工具来进行分区,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大;而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。但是现在的磁盘空间很多都已经是远远大于2T了,甚至…

Python安装pyinstaller模块的错误:NO module name “setuptools“

出现改pyinstaller安装错误常见问题是:pip版本或者setuptools包版本过低。 出现上图提示的错误后,升级一下setuptools包: (1)pip install --upgrade setuptools (2)pip install pyinstaller

jvm ide_预热JVM –超快速生产服务器和IDE

jvm ide几个月前,我正在阅读Java中的复杂事件处理以及实现低延迟的方法。 在我长达一个小时的研究结束时,我发现即使您的应用程序编写正确并且您的方法主要在0(log n)的时间内运行,并且您使用的是某些尖端的硬件解决方…

Python 项目打包成可执行程序命令

一、安装pyinstaller (1)winR输入cmd,打开命令窗口 2)安装pyinstaller,安装指令:pip install pyinstaller 二、打包 1,切换到打包程序目录 例:需要打包程序目录为:D:\pythonfun\useringfunct…

软RAID-mdadm折腾小记

RAID --- 磁盘阵列,简言之,用来提高硬盘的利用率和速度RAID种类(理论):RAID 0 : 读写性能(最少两块硬盘) --- 硬盘使用量是所有硬盘大小之和,性能是所有硬盘之和RAID 1 : 读写性能,冗余性(最少两块硬盘) --- 空间利用率:所有磁盘中最小的那块(n/2); 读性能接近RAID0,写性能较r…

python学习笔记:第19天 类的约束、异常、MD5和logging

目录 一、类的约束二、异常处理:三、MD5加密四、日志(logging模块)一、类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构。也就是说,在分配任务之前就应该把功能定义好,然后分…

新ANTLR 4.6的重要更改

自从上一个主要版本发布以来,已经过去了将近一年的时间,推出了新的ANTLR版本: 4.6 。 有很多新闻:新的目标,更好的性能,更好的错误处理以及ANTLR本身开发中的一些改进。 新目标 影响最大的新闻可能是新目标…

strcmp可以比较数组么_C语言数组越界了,后果很严重,如何避免?

素材来源:嵌入式ARM所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是 C 语言程序中最常见的错误之一。在 C 语言中,数组必须是静态的。…

MongoDB 问题123

MongoDB 是非关系型数据库中的一种。 出于某些原因,我们用了Mongo。他们说Mongo的最大特点是快。 不过这种快是以空间换时间的代价而得来的。 这个空间代价包括 1.DB至少占用64M(好像是这个数字,因为我们的DB实际往往只有几M,但却要占用那么多&#xff0…

两个excel文档查找相同选项后替换_看似普通的查找和替换功能,用好了,能让你的工作效率翻一番...

关注【新精英充电站】能力提升看得见!在Word中,查找和替换功能是编辑文档时时常要用到的重要功能,它能帮助我们快速将文档或表格中查找到的内容或格式等替换为指定的内容或格式,特别是遇到大量需要修改的相同文字内容或格式时非常…

Mongodb内存管理和使用情况情况查询

overview MongoDB使用的是内存映射存储引擎,即Memory Mapped Storage Engine,简称MMAP。MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,这时对文件的读写可以直接用指针来做&#…

mapreduce文本排序_MapReduce:通过数据密集型文本处理

mapreduce文本排序自上次发布以来已经有一段时间了,因为我一直忙于Coursera提供的一些课程。 有一些非常有趣的产品,值得一看。 前一段时间,我购买了Jimmy Lin和Chris Dyer的MapReduce数据密集型处理程序 。 本书以伪代码格式介绍了几种关键的…