im.detectObject('./node_modules/opencv/data/haarcascade_frontalface_alt_tree.xml', {}, function(err, faces) {
if (err) throw err;
for(var i = 0; i < faces.length; i++) {
face = faces[i];
im.rectangle([face.x, face.y], [face.width, face.height], rectColor, rectThickness);
}
faces.forEach( function(face) {
var faceIm = im.roi(face.x, face.y, face.width, face.height);
faceIm.gaussianBlur([7,7]); //here i can blur the face(s)
})
我没有看到任何关于此功能的示例,除了触摸屏幕时手机摄像头的焦点。我可以将屏幕模糊为脸部,所以它就像脸+区域=屏幕,这意味着它能够模糊区域吗?
答案 0 :(得分:0)
要仅模糊背景,请按以下步骤操作:
1)获取要检测的对象的坐标,如果对象是面部,则可以使用Haar级联进行检测。检查here。有几种方法可以实现这一目标,因此找到适合您目的的方法。
2)保留图像的副本,比如说img_copy,模糊这个图像。
3)现在就这样做: img_copy [x_s:x_e,y_s:y_e] = Original_img [x_s:x_e,y_s:y_e]
其中x_s,x_e,y_s,y_e是对象(面部)的起点和终点坐标
现在img_copy将包含结果。
希望这有帮助!