What is Virtual Graffiti?
Virtual Graffiti is an marker-assisted "augmented reality" mobile application for Android devices.
The application allows users to both view and create virtual artwork that is attached to specially-marked real world walls and surfaces. The application attempts to smartly align rendered graffiti images based on the plane and orientation of the wall.
This project was my Senior Capstone Design at the University of Pennsylvania (DMD '11). Read about the technical details here.
How does it work?
On the client (application), we use the following hardware and software features: camera preview, internet connectivity, accelerometer, orientation sensors (compass bearing & gyroscope), location services (GPS), database (SQLite), 2D drawing (Canvas), 3D drawing (OpenGL).
On the server side, there is a PHP- and MySQL-powered backend that stores all the uploaded graffiti. Instances of the client communicate with the master server to keep their local database copies in sync.
Browse Graffiti & Markers
Click on a map pin to view graffiti! Center map to:
Screencaps
Be sure to also check out the final presentation video, which shows the application in action.
Get the App!
Warning! Untested territory!
Virtual Graffiti has not been released into the Android Marketplace yet.
- Please contact clu at seas.upenn.edu if interested in obtaining the development .apk
- Targeted for Android 2.2 (Froyo)
- Has only been tested on my own Motorola Droid and HTC EVO 4G
If you choose to install and run the application, you should do so at your own risk! Development was focused on functionality and not minimizing power usage, memory, or storage space.
This software is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
Basic Information
Technical Details
The summarize the technical implementation details. Source code is not publicly available at this time.
Site Credits
References / Resources
- DroidSpray
- Graffiti Art
- Augmented Reality on Android
- Camera & OpenGL
- YUV420 to RGB565 conversion in Android
- TouchPaint - Android Developers
- ARTag, a Fiducial Marker System Using Digital Techniques
- Carel van Wyk @ MIH Media Lab
- Corner Detection
- Android Guts: Intro to Loopers and Handlers
- OpenGL ES Tutorial for Android
- Photos Around: Orientation sensing
- Android: File POST
- Android Color Picker View
- Android Custom Tabs
- Httpurlconnection in Java
- Strokesformartians - A pictaps clone for android.
- ZXing - Multi-format 1D/2D barcode image processing library
- Loading OpenGL Textures in Android
- The Pragmatic Bookshelf: Hello, Android
- How to use Multi-touch in Android 2