0

私はこのライブラリをユーザーのカメラからのライブフィードでの顔検出に使用しています。私が達成しようとしているのは、ユーザーの頭にアイテムオーバーレイを配置することです。デモに付属している例は、ユーザーの顔を追う愚かな眼鏡です。ユーザーの頭を追跡したい顔の代わりに、ビデオチャット中にさまざまなアイテムを配置できるGoogleハングアウトでGoogleがこれを行うので、それが可能であることを私は知っています。これに関するチュートリアルはありますか?CCVのライブラリを引き続き使用して、この機能のために拡張できますか?

4

2 に答える 2

1

本当に基本的な解決策は、glasses.pngファイルを少し大きくして長方形の形に再作成することです...あなたが求めているものとはまったく違うかもしれませんが、それは私にとって簡単な解決策のようです.

于 2012-10-10T17:59:23.393 に答える
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);

これは、使用している画像をユーザーの頭の上に配置できるようにするためです。

于 2012-10-15T19:47:36.630 に答える