Skip to content

Commit 2a65272

Browse files
author
Pablo Pinheiro
committed
Improving Fast example
1 parent 2d2e394 commit 2a65272

2 files changed

Lines changed: 62 additions & 19 deletions

File tree

examples/assets/fast.png

34.7 KB
Loading

examples/fast.html

Lines changed: 62 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,73 @@
22

33
<html>
44
<head>
5-
<title>tracking.js - fast algorithm</title>
6-
75
<meta charset="utf-8">
6+
<title>tracking.js - feature detection</title>
7+
<link rel="stylesheet" href="assets/demo.css">
8+
9+
<script src="../build/tracking-min.js"></script>
10+
<script src="../../dat-gui/build/dat.gui.min.js"></script>
811

9-
<script src="../build/tracking.js"></script>
12+
<style>
13+
.demo-container {
14+
background-color: black;
15+
}
16+
#image {
17+
position: absolute;
18+
left: -1000px;
19+
top: -1000px;
20+
}
21+
#canvas {
22+
position: absolute;
23+
left: 50%;
24+
top: 50%;
25+
margin-left: -197px;
26+
margin-top: -147px;
27+
}
28+
</style>
1029
</head>
1130
<body>
12-
<canvas id="canvas"></canvas>
31+
<div class="demo-title">
32+
<p><a href="http://trackingjs.com">tracking.js</a> - detect feature points on a image</p>
33+
</div>
34+
35+
<div class="demo-frame">
36+
<div class="demo-container">
37+
<img id="image" src="assets/fast.png" />
38+
<canvas id="canvas" width="393" height="295"></canvas>
39+
</div>
40+
</div>
41+
1342
<script>
14-
var width = 320;
15-
var height = 240;
16-
var canvas = document.getElementById('canvas');
17-
var context = canvas.getContext('2d');
18-
19-
tracking.Canvas.loadImage(canvas, 'assets/book1.png', 0, 0, width, height, function() {
20-
var imageData = context.getImageData(0, 0, width, height);
21-
var gray = tracking.Image.grayscale(imageData.data, width, height);
22-
var corners = tracking.Fast.findCorners(gray, width, height);
23-
24-
for (var i = 0; i < corners.length; i += 2) {
25-
context.fillStyle = '#f00';
26-
context.fillRect(corners[i], corners[i + 1], 1, 1);
27-
}
28-
});
43+
window.onload = function() {
44+
var width = 393;
45+
var height = 295;
46+
var canvas = document.getElementById('canvas');
47+
var context = canvas.getContext('2d');
48+
49+
var image = document.getElementById('image');
50+
51+
window.fastThreshold = 40;
52+
53+
var doFindFeatures = function() {
54+
tracking.Fast.FAST_THRESHOLD = window.fastThreshold;
55+
context.drawImage(image, 0, 0, width, height);
56+
57+
var imageData = context.getImageData(0, 0, width, height);
58+
var gray = tracking.Image.grayscale(imageData.data, width, height);
59+
var corners = tracking.Fast.findCorners(gray, width, height);
60+
61+
for (var i = 0; i < corners.length; i += 2) {
62+
context.fillStyle = '#f00';
63+
context.fillRect(corners[i], corners[i + 1], 1, 1);
64+
}
65+
};
66+
67+
doFindFeatures();
68+
69+
var gui = new dat.GUI();
70+
gui.add(window, 'fastThreshold', 0, 255).onChange(doFindFeatures);
71+
}
2972
</script>
3073
</body>
3174
</html>

0 commit comments

Comments
 (0)