JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdn.rawgit.com/eduardolundgren/tracking.js/master/build/tracking-min.js"></script>
<script src="https://cdn.rawgit.com/eduardolundgren/tracking.js/master/build/data/eye-min.js"></script>
<script src="https://cdn.rawgit.com/eduardolundgren/tracking.js/master/build/data/mouth-min.js"></script>
<script src="https://cdn.rawgit.com/eduardolundgren/tracking.js/master/build/data/face-min.js"></script>
<div class="imgContainer">
<img id="img" src="https://c1.staticflickr.com/4/3943/15715482121_d7120a6e0b_z.jpg" />
</div>
CSS
.rect {
left: -1000px;
position: absolute;
top: -1000px;
}
#img {
position: absolute;
top: 50%;
left: 50%;
margin: -173px 0 0 -300px;
}
JavaScript
// checkout full tutorial on attuts.com
var img = document.getElementById('img');
var tracker = new tracking.ObjectTracker(['face']); // Based on parameter it will return an array.
tracker.setStepSize(1.7);
tracking.track('#img', tracker);
tracker.on('track', function (event) {
event.data.forEach(function (rect) {
draw(rect.x, rect.y, rect.width, rect.height);
});
});
function draw(x, y, w, h) {
var rect = document.createElement('img');
rect.src ="https://c1.staticflickr.com/4/3943/15715482121_d7120a6e0b_z.jpg"
document.querySelector('.imgContainer').appendChild(rect);
rect.classList.add('rect');
rect.style.width = w + 'px';
rect.style.height = h + 'px';
rect.style.left = (img.offsetLeft + x) + 'px';
rect.style.top = (img.offsetTop + y)-40 + 'px';
};