Skip to content

An exciting project brought to you by Team 2 of the Fall 2013 Software Design and Evolution class at Villanova University.

License

Notifications You must be signed in to change notification settings

mathurasri/Photo-Rainbow

 
 

Repository files navigation

Photo Rainbow - Organize Your Photos By Color

Photo Rainbow allows the user to sync with an online photo service and organize their photos by color. Sorting is done by analyzing images by pixel and determining what percentage of pixels are of a color in the visible spectrum. In short, users can create beautiful presentations of their images showing complete spectrums of memories. Photo Rainbow will be available as an application for Windows 7.

Users can sort photos in two ways: by brightness and as a rainbow.

Brightness

The user can choose to view all of the photos of a given color and see those photos organized from the brightest to the least bright. Sorting is done by any color in the visible spectrum: violet, blue, green, yellow, orange or red.

Rainbow

The user can also chose to view all their pictures as a rainbow, from violet to red. Pictures are organized based on the predominant colors present in the image. This allows the user to see an entire rainbow made up of their photos.

Flickr

Initially, Photo Rainbow syncs with the Flickr API, with support for additional image hosting services in the future.

The Flickr API documentation can be found here: http://www.flickr.com/services/api/ The Flickr .NET API Library: http://flickrnet.codeplex.com/ Flickr Photo Source URLs: http://www.flickr.com/services/api/misc.urls.html

Under the Hood

The architecture utilizes the C# Bitmap library to perform pixel analysis on each image in the collection, identifying the percentage of each color (violet, blue, green, yellow, orange, red) present in an image. The System.Drawing.Color object also allows us to get the brightness of each color (GetBrightness), which can be used to arrange images of the same group by brightness. http://msdn.microsoft.com/en-us/library/System.Drawing.Bitmap.aspx

With a color analysis performed on each image, features can be implemented to display the images by color group, or in a spectrum using the percentage value of each color to arrange the images in spectrum order.

Specifically, the system will:

  • Integrate with the Flickr API
  • Allow for integration with other APIs moving forward
  • Get the color information about an image with a response time of no more than 1 second per image and a total response time or no more than 15 seconds for a group of images.
  • Cache the image data so as to eliminate the need for processing the same image twice.
  • Decouple the image analysis service from the sorting methods.
  • Request image files directly from Flickr via HTTP
  • Create a user interface to display sorted images.

Visual Studio

As this is a .NET project, Visual Studio is recommended as an IDE. Visual Studio Express 2012 can be downloaded here

Documentation

Documentation can be found at our Google Drive shared folder. If you need access to this folder, please let us know.

About

An exciting project brought to you by Team 2 of the Fall 2013 Software Design and Evolution class at Villanova University.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%