Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Augmented Reality.js
Search
Eduardo Lundgren
November 20, 2013
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Augmented Reality.js
Eduardo Lundgren
November 20, 2013
More Decks by Eduardo Lundgren
See All by Eduardo Lundgren
WeDeploy
eduardolundgren
0
86
Introducing Liferay Standalone Applications
eduardolundgren
3
560
Single Page Applications in Liferay
eduardolundgren
5
2.6k
Single Page Applications done right
eduardolundgren
10
810
tracking.js with Maira Bello
eduardolundgren
0
140
Single Page Application
eduardolundgren
0
450
Getting Started with YUI3 and AlloyUI
eduardolundgren
0
110
Getting started with AlloyUI
eduardolundgren
0
120
Liferay UI revolution
eduardolundgren
0
210
Other Decks in Technology
See All in Technology
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
8
3.4k
2026_devsumi_ozono.pdf
o3
3
510
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
130
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
920
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
2
530
Reactの設計論
uhyo
24
13k
Claude Code本って、 読む必要あるの?
oikon48
2
470
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
3
1.7k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
830
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
300
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Writing Fast Ruby
sferik
630
63k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Odyssey Design
rkendrick25
PRO
2
810
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Statistics for Hackers
jakevdp
799
230k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
460
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
368
27k
Transcript
augmented reality.js JS.everywhere, 2013 Friday, October 25, 13
@eduardolundgren Friday, October 25, 13
I’m from brazil Friday, October 25, 13
Friday, October 25, 13
I — JavaScript Friday, October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
jQuery jQueryUI YUI3 Liferay tracking.js AlloyUI jQuery Simulate nodegh Friday,
October 25, 13
today we’re going to talk about augmented reality... Friday, October
25, 13
Friday, October 25, 13
...and how to integrate different HTML5 APIs Friday, October 25,
13
augmented reality is everywhere Friday, October 25, 13
first head-mounted display Friday, October 25, 13
google glass Friday, October 25, 13
what is augmented reality? Friday, October 25, 13
terminator Friday, October 25, 13
terminator Friday, October 25, 13
what is visual tracking? Friday, October 25, 13
visual tracking Friday, October 25, 13
how can you do it using JavaScript? Friday, October 25,
13
1. capture webcam Friday, October 25, 13
Friday, October 25, 13
dev.w3.org/2011/webrtc/editor/webrtc.html Friday, October 25, 13
Friday, October 25, 13
navigator.getUserMedia({ video: true, audio: true }, onSuccess, onFail); STEP 1
Access user's camera Friday, October 25, 13
2. play the captured video Friday, October 25, 13
Friday, October 25, 13
STEP 2 Play webcam's content into a video element function
onSuccess(stream) { var video = document.querySelector('video'); video.src = window.URL.createObjectURL(stream); video.onloadedmetadata = function(e) { // Ready }; } Friday, October 25, 13
3. track a pattern of pixels Friday, October 25, 13
Friday, October 25, 13
Friday, October 25, 13
Friday, October 25, 13
javascript typed arrays Friday, October 25, 13
“Study the past if you would define the future” -
Confucius Friday, October 25, 13
fiducial markers Friday, October 25, 13
hitl.washington.edu/artoolkit Friday, October 25, 13
github.com/kig/JSARToolKit Friday, October 25, 13
soundstep.com/blog/experiments/jstracking/ Friday, October 25, 13
soundstep.com/blog/experiments/jstracking/ Friday, October 25, 13
bit.ly/XR0aGH Friday, October 25, 13
bit.ly/XR0aGH Friday, October 25, 13
what was the problem? Friday, October 25, 13
trackingjs.com Friday, October 25, 13
eduardo.io/3F0d360z2q1P Friday, October 25, 13
tracking.js features Friday, October 25, 13
Friday, October 25, 13
Friday, October 25, 13
eduardo.io/23033L0Q1i3z Friday, October 25, 13
eduardo.io/23033L0Q1i3z Friday, October 25, 13
STEP 1 COLOR TRACKING Import tracking.js core <script src="tracking.js"></script> Import
tracking.js color module <script src="tracker/color.js"></script> Friday, October 25, 13
STEP 2 COLOR TRACKING Gets user's camera and renders it
var videoCamera = new tracking .VideoCamera() .render(); Friday, October 25, 13
STEP 3 COLOR TRACKING Register tracking for yellow color videoCamera.track({
type: 'color', color: 'yellow', onFound: function() {}, onNotFound: function() {} }); Friday, October 25, 13
STEP 4 COLOR TRACKING Paint all detected pixels onFound: function(track)
{ var pixels = track.pixels, ctx = videoCamera.canvas.context; for (var i = 0, len = pixels.length; i < len; i += 2) { ctx.fillStyle = "rgb(255,0,255)"; ctx.fillRect(pixels[i], pixels[i+1], 2, 2); } ctx.fillStyle = "rgb(0,0,0)"; ctx.fillRect(track.x, track.y, 5, 5); } Friday, October 25, 13
Friday, October 25, 13
eduardo.io/233C2J0Q3z0U Friday, October 25, 13
eduardo.io/233C2J0Q3z0U Friday, October 25, 13
STEP 1 FACE DETECTION Register human tracking for frontal face
videoCamera.track({ type: 'human', data: 'frontal_face', onFound: function() {}, onNotFound: function() {} }); Friday, October 25, 13
STEP 2 FACE DETECTION Paint all detected faces rectangles onFound:
function(track) { for (var i = 0, len = track.length; i < len; i++) { var rect = track[i]; ctx.strokeStyle = "rgb(0,255,0)"; ctx.strokeRect( rect.x, rect.y, rect.size, rect.size); } } Friday, October 25, 13
real world examples Friday, October 25, 13
github.com/auduno/headtrackr Friday, October 25, 13
webdesign.maratz.com/lab/responsivetypography Friday, October 25, 13
webdesign.maratz.com/lab/responsivetypography Friday, October 25, 13
auduno.github.io/headtrackr/examples/targets.html Friday, October 25, 13
auduno.github.io/headtrackr/examples/targets.html Friday, October 25, 13
alexhancock.github.io/street-facing Friday, October 25, 13
alexhancock.github.io/street-facing Friday, October 25, 13
markerless tracking Friday, October 25, 13
unifeye viewer Friday, October 25, 13
github.com/eduardolundgren/tracking.js Friday, October 25, 13
let’s see in action? Friday, October 25, 13
popularity Friday, October 25, 13
638 cities Friday, October 25, 13
445 tweets Friday, October 25, 13
thank you :) @eduardolundgren Friday, October 25, 13