15
Mosaic Creator Lance Finfrock CS 470

Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Embed Size (px)

Citation preview

Page 1: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Mosaic Creator

Lance Finfrock

CS 470

Page 2: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Introduction

• A Mosaic is hundreds or thousands of pictures comprised to make one picture.

Page 3: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Specifications

• Develop an algorithm that builds a mosaic

• Provide a logical user interface

• Provide an Interactive Mosaic viewer

• Allow the user to save and print their mosaics

Page 4: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Mosaic Creation Algorithm•Divide the original picture into thousands of smaller sections

•Find the difference between each section and mosaic pieces

• Choose the best piece

Page 5: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Finding the difference between each section and piece

For every pixel in the original section and the Mosaic piece find the difference between each color value

Page 6: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Choosing the best piece

• Take the piece with the minimal difference

• The option without duplicates– After a piece is chosen, take it out of the pile

not to be chosen again

• The option with duplicates– When a piece is chosen, place it back in the

pile to be chosen again

Page 7: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Blending

• Take each pixel color from the original picture and the mosaic pieces and combine them together

Page 8: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Graphical User Interface• Preview Window

• Number of Pictures Found

• Amount of Divisions

• Allow Duplicates

• Best Picture Match

Page 9: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Interactive Viewer

Page 10: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Saving and Printing

• Saving– Three different sizes of JPEG images– Store as a .mosaic to be opened again in the

Interactive viewer

• Printing– Prints to the size of the page

Page 11: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Requirements

• Java Virtual Machine 1.4.1 or higher

• 128 MB of RAM or higher

• 1.0 GHz or higher processor speed

• 800 by 600 or greater Screen resolution

• JPEG or GIF images only

Page 12: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

System Architecture

Main WindowDisplay

MosaicAlgorithm

InteractiveViewer

OpenMosaic

File Finder Save

Print

Page 13: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Incremental Prototyping

• Incremental Prototyping was used because :– GUI needed to be user friendly– Did not have a good grasp on what was

possible – Needed to test program on other systems

• Red Hat• MAC• Other windows machines

Page 14: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Conclusion

• I learned:– Programming techniques :

• Threads• Create a usable GUI• Manipulation of images• Printing and saving of images

– How to design a large project from the ground up

Page 15: Mosaic Creator Lance Finfrock CS 470. Introduction A Mosaic is hundreds or thousands of pictures comprised to make one picture

Questions ?