删除节点中的图像背景

我正在从事捕捉用户的面部并将其放在现有模型上的项目。 为了结合人脸和模型的图像,我使用节点的gm库; 和面部检测我使用的是opencv。 我能够做到既检测脸部,又把它放在模型上。 但问题是我的模型是透明的背景,但用户的脸不(因为脸从相机捕获)。

我想删除脸部的背景,使其透明。 有什么办法可以做到这一点吗?

这是我的集成代码:

gm() .in('-page', '+0+0') .in("public/" + modelImagePath) .in('-page', '+130+45') .in(newDir + '/crp.png') .mosaic() .write(resultantImage, function (err) { if (err) console.log(err); }); 

这里crp.png是人脸图像,modelimagepath是模型图像完整的opencv + gm代码:

 cv.readImage(newDir + "/zxcv.png", function(err, im){ im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){ console.log("into detec:" + faces.length + "," + faces[0]); if ( faces.length > 0) { var x = faces[0]; gm(newDir + "/zxcv.png") .crop(x.width,x.height,xx,xy) .write(newDir + '/crp.png', function (err) { if (err) console.log(err); }); var modelImagePath = getModelBasedOnSize(hips, skin, waist, weight, 1); var modelSize = modelImagePath.split("-")[1].split(".")[0]; resultantImage = newDir + "/result-" + modelSize + ".png"; gm() .in('-page', '+0+0') .in("public/" + modelImagePath) .in('-page', '+130+45') // frok -> 95 87 //+105+60 // .in(newDir + '/crp.png') .mosaic() .write(resultantImage, function (err) { if (err) console.log(err); res.end(resultantImage.replace('public/', '')); //res.end(resultImage.replace('public/', '')); }); } else{ console.log("into else - pic not present"); var modelImagePath = getModelBasedOnSize(hips, skin, waist, weight, 0); res.end(modelImagePath.replace('public/', '')); } }); //opencv detect face })