实现思路
通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像。
实现步骤如下。
使用BackgroundSubtractorMOG2进行背景分割
BackgroundSubtractorMOG2是一个以高斯混合模型为基础的背景前景分割算法,
混合高斯模型
分布概率是K个高斯分布的和,每个高斯分布有属于自己的 μμ 和 σσ 参数,以及对应的权重参数,权重值必须为正数,所有权重的和必须等于1,以确保公式给出数值是合理的概率密度值。换句话说如果我们把该公式对应的输入空间合并起来,结果将等于1。
回到原算法,它的一个特点是它为每一个像素选择一个合适数目的高斯分布。基于高斯模型的期望和标准差来判断混合高斯模型模型中的哪个高斯模型更有可能对应这个像素点,如果不符合就会被判定为前景。
使用人像识别填充面部信息
创建级联分类器
face_cascade = cv2.CascadeClassifier()
face_cascade.load(
"/usr/local/anaconda3/envs/OpenCV/lib/python3.8/site-packages/cv2/data/haarcascade_frontalface_default.xml")
使用OpenCV自带的级联分类器,加载Op