Title: Image Mosaics
1Image Mosaics
2Outline
- Image Processing Basics
- What is image mosaics?
- Types of mosaics
- Algorithm overview
- Development Process
- Demonstration
- References
3Image Processing Basics
- Pixel - a single point in an image
- Representation
- Red channel (0 255)
- Green channel (0 255)
- Blue channel (0 255)
4Image Processing Basics
- Average Color Value - Image
width 200 px
int redChannel, greenChannel, blueChannel For
each pixel in image redChannel
pixel.R greenChannel pixel.G blueChannel
pixel.B redChannel / totalPixels greenChann
el / totalPixels blueChannel / totalPixels
height 200 px
int totalPixels width height
avgColorValue redChannel, greenChannel,
blueChannel
5Image Processing Basics
- Average Color Value - Region
region width 20px region height 20px
6What is Image Mosaics?
Process
Input Image
Output Image
7Types of mosaics
ACV Mosaic
8Types of mosaics
Grayscale Mosaic
9Types of mosaics
Edge Detection Mosaic
10Types of mosaics
Jigsaw Mosaic
11Algorithm overview
Image Library
- For each region
- Get average color value
- Search Library
image1
image2
image3
image4
...
Resize image
Replace region with image
12Output
13Recap
- Image Processing Basics
- What is image mosaics?
- Types of mosaics
- Algorithm overview
- Development Process
- Demonstration
- References
14Development process
- Library Optimization
- Color Correction Optimization
- Refactoring
15Library Optimization
- Files ? Hashtable linear search
Hashtable
Key
Value
path to image
avg color value
path to image
avg color value
Linear search
path to image
avg color value
path to image
avg color value
16Binary Search
- Hashtable ? ArrayList of custom type binary
search
Middle element of sorted array
17Color Correction Optimization
18Demonstration
- Murphys Law
- If anything can go wrong, it will!
19References
- Google.com
- http//www.cs.princeton.edu/gfx/proj/mosaic/prince
ton-cs-tr-574-98.pdf
20Thank You for Your Attention