用vs通过c++、opencv、dlib实现视频换脸效果
我们经常看见抖音里面有换脸的特效,那么怎么实现的呢,其实opencv及dlib提供一个开源的库,只要调用一下就ok了,脸部模型直接下载一下就ok了,上面两张图片是两个人的脸部视频,我们看处理完之后的效果。
女主的脸换上了男主的脸,看上去有点猥琐,哈哈,但是女主的脸换到男主头上看上去有点小清新,好了,那么我们讲一下怎么通过代码实现吧。
核心的代码就是通过opencv获取视频数据进行模型识别,然后输出流
small_frame = getMinFrame(frame, rect_ann, rect_bob); frame_size = cv::Size(small_frame.cols, small_frame.rows); getFacePoints(small_frame); getTransformationMatrices(); mask_ann.create(frame_size, CV_8UC1); mask_bob.create(frame_size, CV_8UC1); getMasks(); getWarppedMasks(); refined_masks = getRefinedMasks(); extractFaces(); warpped_faces = getWarppedFaces(); colorCorrectFaces(); auto refined_mask_ann = refined_masks(big_rect_ann); auto refined_mask_bob = refined_masks(big_rect_...
点击查看剩余70%
网友评论0