Friday, February 11, 2011

Texture Synthesis - Step 2

Next step in the process:

  1. Start by a randomly generated target image.
  2. Refine by computing "texture energy" and optimizing at each loop. Stop when no changes occur. 
Will need to look take a closer look at Levoy code. 

Wednesday, February 2, 2011

Checkpoint #1 - Find Nearest Pixel

Given a selected pixel, outputs a pixel that is most similar to it.
It takes into consideration all neighboring pixels within a given radius.
Nearest pixel determined by finding the smallest L2 norm distance, using the average of RGB values of all pixels in the given radius.

Here's a sample screenshot. The red square is the selected pixel (it's at the nose).

Friday, January 28, 2011

studyspaces alpha launched!

We launched a testing version to the public (anyone who has the link) and presented in front of the UA this past Sunday.

Here's the official link!
http://pennapps.com/studyspaces/

Texture Synthesis - Step 1

Step 1 is to implement a framework that can match pixels to their nearest neighbors. Nearest neighbors in this case is in terms of pixel similarity.

Proposed method:
For each pixel, precompute value:
    get a grid of neighbor pixels in a specified radius
    store color values into 2D array
    take the average value
For a selected pixel, its nearest neighbor is found by simply finding the smallest L2 distance between that pixel's average color value and the value of every other pixel that is not itself.

I'll also need to build a Qt interface to load texture images and visualize the nearest neighbor search. We'll see how it goes!

Demo Reel v1.1

Updated with DroidXtend

Sunday, January 16, 2011

PennApps Mobile 2011

PennApps Mobile Hackathon 2011 happened over the weekend.
We made "DroidXtend", an Android app that turns your phone into a 3D input device. We wrote a corresponding Maya plug-in to have the phone control the view camera.
We won "Best Android App" Award! Check out our video!