Skip to content

Commit 35c58b5

Browse files
mairatmaeduardolundgren
authored andcommitted
Adding frame to brief camera demo
1 parent 6470b8a commit 35c58b5

1 file changed

Lines changed: 25 additions & 11 deletions

File tree

examples/brief_camera.html

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
<title>tracking.js - bounding box with camera</title>
66

77
<meta charset="utf-8">
8+
<link rel="stylesheet" href="assets/demo.css">
89

9-
<script src="../build/tracking.js"></script>
10+
<script src="../build/tracking-min.js"></script>
1011
<script src="assets/stats.min.js"></script>
1112

1213
<style>
@@ -16,6 +17,7 @@
1617
background: white;
1718
border: 1px dashed;
1819
opacity: .5;
20+
z-index: 1;
1921
}
2022
#video {
2123
position: absolute;
@@ -32,11 +34,19 @@
3234
</style>
3335
</head>
3436
<body>
35-
Click and drag to select the area to be tracked.
36-
<br>
37+
38+
<div class="demo-title">
39+
<p><a href="http://trackingjs.com">tracking.js</a> - Click and drag to select the area to be tracked</p>
40+
</div>
41+
3742
<div id="boundingBox"></div>
38-
<video id="video" width="640" height="480" preload autoplay loop muted controls></video>
39-
<canvas id="canvas" width="640" height="480"></canvas>
43+
44+
<div class="demo-frame">
45+
<div class="demo-container">
46+
<video id="video" width="393" height="295" preload autoplay loop muted controls></video>
47+
<canvas id="canvas" width="800" height="530"></canvas>
48+
</div>
49+
</div>
4050

4151
<script>
4252
(function() {
@@ -68,11 +78,15 @@
6878

6979
// Track ===================================================================
7080
var boundingBox = document.getElementById('boundingBox');
81+
var boxLeft = 403;
7182
var video = document.getElementById('video');
7283
var canvas = document.getElementById('canvas');
84+
var canvasRect = canvas.getBoundingClientRect();
7385
var context = canvas.getContext('2d');
7486
var templateImageData;
7587
var capturing = false;
88+
var videoHeight = 295;
89+
var videoWidth = 393;
7690

7791
var tracker = new BoundingBoxTracker();
7892

@@ -87,7 +101,7 @@
87101
return b.confidence - a.confidence;
88102
});
89103
// Re-draws template on canvas.
90-
context.putImageData(templateImageData, 640, 0);
104+
context.putImageData(templateImageData, boxLeft, 0);
91105

92106
// Plots lines connecting matches.
93107
for (var i = 0; i < Math.min(10, event.data.length); i++) {
@@ -96,7 +110,7 @@
96110
context.beginPath();
97111
context.strokeStyle = 'magenta';
98112
context.moveTo(frame[0], frame[1]);
99-
context.lineTo(640 + template[0], template[1]);
113+
context.lineTo(boxLeft + template[0], template[1]);
100114
context.stroke();
101115
}
102116
});
@@ -111,7 +125,7 @@
111125
context.clearRect(0, 0, canvas.width, canvas.height);
112126
if (video.readyState === video.HAVE_ENOUGH_DATA) {
113127
try {
114-
context.drawImage(video, 0, 0, 600, 480);
128+
context.drawImage(video, 0, 0, videoWidth, videoHeight);
115129
} catch (err) {}
116130
}
117131
requestFrame();
@@ -148,9 +162,9 @@
148162
capturing = false;
149163
});
150164
function setTackerTemplate(left, top, width, height) {
151-
templateImageData = context.getImageData(left - canvas.offsetLeft, top - canvas.offsetTop, width, height);
152-
canvas.width = 640 + width;
153-
context.putImageData(templateImageData, 640, 0);
165+
templateImageData = context.getImageData(left - canvasRect.left, top - canvasRect.top, width, height);
166+
canvas.width = boxLeft + width;
167+
context.putImageData(templateImageData, boxLeft, 0);
154168
trackerTask.stop();
155169
tracker.setTemplate(templateImageData.data, width, height);
156170
trackerTask.run();

0 commit comments

Comments
 (0)