eduardolundgren / tracking.js

A modern approach for Computer Vision on the web
http://trackingjs.com
Other
9.43k stars 1.44k forks source link

Multiple tracker classes #194

Closed erikreppel closed 7 years ago

erikreppel commented 7 years ago

Is it currently possible to have multiple trackers registered? I'm trying to check if both there is a face, and a yellow t-shirt in an image, but I'm getting an error:

Uncaught Error: Object classifier not valid, try `new tracking.ObjectTracker("face")`.

Code:

    var tracker = new tracking.ColorTracker(['yellow']);
    tracker.setMinGroupSize(500);
    tracking.track('#video', tracker, {
       camera: true
    });

    tracker.on('track', function(event) {
        context.clearRect(0, 0, canvas.width, canvas.height);
        context.strokeRect(x, y, imgSize.w, imgSize.h);

            event.data.forEach(function(rect) {
                if (rect.color === 'custom') {
                    rect.color = tracker.customColor;
                }
            context.strokeStyle = rect.color;
            context.strokeRect(rect.x, rect.y, rect.width, rect.height);
            context.font = '11px Helvetica';
            context.fillStyle = "#fff";
            context.fillText('x: ' + rect.x + 'px', rect.x + rect.width + 5, rect.y + 11);
            context.fillText('y: ' + rect.y + 'px', rect.x + rect.width + 5, rect.y + 22);
            // });
        }
    });

    let face_tracker = new tracking.ObjectTracker("face");
    face_tracker.setStepSize(1.7);
    tracking.track(video, face_tracker);
    face_tracker.on('track', function(event) {
        if (event.data.length > 0) {
            console.log("seeing a face!");
        }
    });
erikreppel commented 7 years ago

Never mind, forgot to include the face tracking data, sorry about that