前言
最近无意间做了一个火柴人特效制作,感觉挺好玩的,想着趁现在激情还在,于是诞生了改一改华强买瓜: 把华强PS成我,这波画面简直不要太美丽!哈哈哈。
本篇仅分享三种换脸情况以及效果描述。
两张图像人脸互换
实现效果: 对两张照片中人脸进行互换。
换脸材料: 准备需要进行替换人脸的两张图像分别命名为img1和img2
思路步骤:
- 读取人物图像img1、img2;
- 对图像进行与处理;
- 提取人物图像中的人脸img_face1、img_face2;
- 将img_face1绘制到img2上;
- 将img_face2绘制到img1上;
图像与视频中人脸互换
实现效果: 将视频画面中实时显示的人脸替换成指定图像中的人脸。
换脸材料: 准备需要进行替换人脸的图像img以及摄像头(video)和作者(person)
思路步骤:
- 读取需要进行被替换人脸图像img;
- 对img进行归一化处理;
- 对img中的人脸图像关键点提取命名face1;
- 打开摄像头video;
- 对视频画面帧进行相同的归一化操作;
- 对视频画面帧图像进行人脸关键点提取;
- 将face1绘制到视频画面帧上面的关键点
两视频画面中人脸互换
实现效果: 打开两个摄像头,对两视频画面中人脸进行对掉。
换脸材料: 两外接摄像头(video1&video2)以及两实验人员(persosn1&person2)
思路步骤:
- 开辟两线程thread1、thread2
- 对两个线程同时进行打开摄像头video1、vodeo2(PC端连接两摄像头)
- 对两摄像头的视频画面帧进行相同的预处理操作
- 提取video1&video2中face1&face2(人脸关键点提取)
- 将face1和face2进行对掉(两线程之间的通信)