情人节就要到了,不知道大家都准备了什么礼物呢?情人之间送礼,追求的是心意,今天小编就带领大家做一个程序员情人节专属礼物-《我的眼里只有你》,如下如所示:
图片来源:全民小视频
大家仔细观察,图片中的男主眼中是不是全部都是女主啊,当然,单纯的图片不能够表达出诚意,因此小编为大家带来的是视频的制作,下面就跟着小编一起来学习吧。
01
识别眼部位置
首先,我们应该搞清楚,对于一张图片,我们应该如何来甄别图片中眼部的位置信息呢,这里我们用到的是dlib函数库,利用dlib函数库,我们可以定位图片中眼睛的位置,有了眼部的位置,我们只需要将女主的照片贴到眼睛的位置就大功告成了。程序如下图所示。
核心的代码其实不负责,小编来给大家一一解读一下:
程序中我们首先读取图片,判断左眼的坐标位置;
然后根据左眼的坐标位置判断眼睛的大小,并将女主的图片调整成合适的大小,为了更加贴合人眼珠圆形的特征,我们将女主的图片改成圆形;
然后将改完的圆形图片贴到原图当中,就完成了左眼的操作,而右眼的操作与左眼完全相同。
这就实现了针对于一幅图的操作,针对于视频,我们只需要对其进行逐帧的读取操作即可。
02
逐桢读取,还原声音
上面我们是将每一张图片的人眼中都贴上了女主的照片,但是我们得到的全部都是图片,我们最终需要得到的是视频,而且更为关键的一点是,我们逐帧读取的图片中,将声音信息完全丢失掉了,这是我们非常忌讳的。接下来我们就需要将图片拼接成视频,并且将视频中的声音进行还原。程序如下图所示。
上述程序中,我们首先读取所有处理好的图片,并按照顺序进行排序
然后利用opencv库进行视频的拼接工作,将一幅幅的图片拼接成视频;
最后利用moivepy库来将原视频中的音频信息放入到我们新拼接好的视频当中,便完成了我们整个的操作流程。
一起来看一下视频
本视频来源:全民小视频
最后,小编为大家展示一下该程序的使用方法,大家只要在程序中指定好各个路径,即可在最后的程序根目录下获得我们的视频结果,如下图所示。
以上就是小编为大家带来的情人节福利,大家也赶快动起手来,制作自己的情人节专属礼物吧。
需要源码,后台输入:【情人节】
点击查看优质单身小姐姐
近期热门:
点击阅读原文,阅读菜鸟学Python 400篇干货!