CCV人脸检测Javascript库Quenstion

时间:2012-10-10 17:07:31

标签: javascript html5

我正在使用this library对来自用户相机的实时Feed进行面部检测,我想要完成的是在用户头上放置一个项目覆盖。演示附带的示例是跟随用户脸的傻眼镜。我想知道谷歌可以在谷歌环聊上做到这一点,而不是我想跟踪用户的头像,你可以在视频聊天时放置各种项目。有没有这方面的教程,我可以继续使用CCV的库并为此功能进行扩展吗?

2 个答案:

答案 0 :(得分:1)

似乎是一个非常基本的解决方案,只是重新创建一个更大的矩形形式的glasses.png文件...可能不是你想要的,但这似乎很简单我的解决方案。

答案 1 :(得分:0)

我想了一下,但我发现了问题。

在脚本中计算位置[Function“drawToCanvas”]我不得不弄乱宽度和高度计算。我的出局如下。

var video = App.video,
            ctx = App.context,
            backCtx = App.backContext,
            m = 5,
            w = 20,
            i ,
            comp;

        ctx.drawImage(video, 0, 0, App.canvas.width, App.canvas.height);

        backCtx.drawImage(video, 0, 0, App.backCanvas.width, App.backCanvas.height);

        comp = ccv.detect_objects(App.ccv = App.ccv || {
            canvas: App.backCanvas,
            cascade: cascade,
            interval: 4,
            min_neighbors: 1
        });

        if (comp.length) {
            App.comp = comp;
        }

        for (var i = 0; i < App.comp.length; i++){
            //ctx.drawImage(App.glasses, App.comp[i].x, App.comp[i].y+(App.comp[i].height*.7), App.comp[i].width, (App.comp[i].height/4));
            ctx.drawImage(App.glasses, (App.comp[i].x - w / .7) * m, (App.comp[i].y - w / .5) * m, (App.comp[i].width + w) * m, (App.comp[i].height + w) * m);

这样就可以将您正在使用的图像放在用户头上。