Mobile image processing – Part 1
Mobile application development on Android
“
Hello World
”
project
Hello
World
project
“Viewfinder EE368” project
Ima
g
e processin
g
librar
y
ggy
Mobile application examples
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 1
Layar augmented reality
Landmark Recognition
http://www layar com
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 2
http://www
.
layar
.
com
Streaming mobile augmented reality
Book cover recognition
http://www youtube com/watch?v=fKm7iknUFqc
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 3
http://www
.
youtube
.
com/watch?v=fKm7iknUFqc
Mobile platforms
Symbian Windows Mobile
iPh
Ad id
Nokia N97 Nokia E61 HTC Pure Samsung Omnia
iPh
one
A
n
d
ro
id
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 4
iPhone
iPad Motorola DROID Kyocera Zio
Industry support for Android
Open source mobile platform developed by Google
Supported by Open Handset Alliance: over 60 companies
Supported
by
Open
Handset
Alliance:
over
60
companies
including major service carriers and major mobile device
manufacturers
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 5
Programming in Java
Android encourages high-level development
Android uses Java as main programming language
Android
uses
Java
as
main
programming
language
Inherits basic classes from conventional Java
String, Container, Math, IO, Network
Adds new classes specific to mobile devices
Camera, Telephony, Map, GPS, Speech
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 6
Android software stack
[ Professional
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 7
[
Professional
Android
Application
Development ]
Android software stack
[ Professional
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 8
[
Professional
Android
Application
Development ]
Android software stack
[ Professional
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 9
[
Professional
Android
Application
Development ]
Android software stack
[ Professional
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 10
[
Professional
Android
Application
Development ]
Android programming framework
program installation
and execution
system
messages
Eclipse
IDE
programmer
inputs
IDE
inputs
Android
SDK
Java
Runtime
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 11
SDK
Runtime
Class tutorial for Android
Framework can be installed from scratch on your own
com
p
uter
(
Windows
,
Mac
,
or Linux
)
followin
g
the tutorial
p( ,, ) g
provided to the class
Tutorial explains how to download the different software packages
Tutorial explains how to install and link packages
Tutorial
explains
how
to
install
and
link
packages
Tutorial provides full source for code examples used in lecture
Link: />Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 12
Class tutorial for Android
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 13
Class tutorial for Android
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 14
Class tutorial for Android
Framework can be installed from scratch on your own
com
p
uter
(
Windows
,
Mac
,
or Linux
)
followin
g
the tutorial
p( ,, ) g
provided to the class
Tutorial explains how to download the different software packages
Tutorial explains how to install and link packages
Tutorial
explains
how
to
install
and
link
packages
Tutorial provides full source for code examples used in lecture
Link: /> Framework for Linux already installed and tested on the
SCIEN computers
SCIEN
computers
Add a soft link in your Leland account to our software
Personalize your Eclipse workspace
Li k
htt // 368 t f d d /A d id
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 15
Li
n
k
:
htt
p:
//
ee
368
.s
t
an
f
or
d
.e
d
u
/A
n
d
ro
id
Eclipse IDE
Different
perspectives
Text editor
Class
hierarchy
Pro
j
ect files
j
Errors and
warnings
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 16
Eclipse IDE: project files
Java source files
Program new functions here
Program
new
functions
here
Auto-generated Java files
Don’t edit anything here
A
ndroid library
Don’t edit anything here
Resource files
E
d
it l
ayou
t
,
de
fin
e
co
n
s
t
a
nt
s,
d ayou,de eco sa s,
insert external image files
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 17
Edit program permissions
and overall settings
Eclipse IDE: Android phone emulator
Dummy checkerboard pattern
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 18
mimics real camera viewfinder
“Hello World” project
Goals of this project
Learn how to create a new Android
p
ro
j
ect
pj
Learn how to edit Java source files
Learn how to create layouts in XML
Learn how to run a new program on emulator and phone
Learn
how
to
run
a
new
program
on
emulator
and
phone
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 19
Creating a new project (1)
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 20
Creating a new project (2)
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 21
Creating a new project (3)
Make sure this is your
personal workspace
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 22
Creating a new project (4)
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 23
Editing the Java source file
Every visible program uses an
extension of the Activity class
To auto-import necessary
classes, use Control + Shift + O
extension
of
the
Activity
class
Set the layout of this Activity by
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 24
overriding the onCreate method
Editing the layout resource file
Bernd Girod, David Chen: EE368 Mobile Image Processing – Part 1 no. 25