|
2 | 2 |
|
3 | 3 | <html> |
4 | 4 | <head> |
5 | | - <title>tracking.js - fast algorithm</title> |
6 | | - |
7 | 5 | <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> |
8 | 11 |
|
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> |
10 | 29 | </head> |
11 | 30 | <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 | + |
13 | 42 | <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 | + } |
29 | 72 | </script> |
30 | 73 | </body> |
31 | 74 | </html> |
0 commit comments