CREU Project Blog

Installing NumPy SciPy Matplotlib on mac
November 25, 2008, 4:27 am
Filed under: Uncategorized

It is more difficult than I have anticipated to install all these python packages.  Compilation problems and obscure error messages are everywhere when I try to build and install these packages!  After a few hours of googling, i found that Enthought has a ~500MB distribution of python that has all of these packages. (it is free for students!)

>>> import numpy
>>> numpy.test('1','10')

>>> import scipy
>>> scipy.test('1','10')

>>> import pylab
>>> x = pylab.randn(10000)
>>> pylab.hist(x, 100)

Final Report
May 24, 2008, 7:07 pm
Filed under: Uncategorized

Attached is a final report that we submitted.  Although we came across a lot of unexpected problem during the past year, it was regardless a great learning experience for all of us.  We were able to experiment with different technologies that are not taught in the classrooms. The report can be downloaded here. CREU Final Report

Demo Program
May 24, 2008, 7:03 pm
Filed under: Uncategorized

We decided to write a program to demonstrate how this could be used.  We somehow decided that we would write a program that is sort of like the Yamaha TENORI-ON.  It has a 16×16 button matrix, and the buttons that can be activated to play different notes.  

Figure 1. When the program starts up, user should press “s” to enter a screen that shows the segmented image from the camera.  Users then click on the color they want to the program to track.  A cursor in the form of a square box will appear immediately, and it’s position on the screen will correspond to the location of the color blob.

Figure 2.  Users should press “s” to exit the setup screen.  The main application screen will appear, and user can select the button by moving the red cursor on the button and press “enter”.  

We were experimenting with button press by moving the color finger wrap toward the screen.  However, when the finger moves toward the screen, the position of the blob changes and it becomes difficult for users to select the button they originally wish to click.  However, I think that it can be done, if we get to experiment with it a little more.  But here is the source code for the application SequencerDemo.pdf. (Note: wordpress does not allow users to upload zip file; so I renamed it to SequencerDemo.pdf.  To unzip the source code, rename it to 

Blob Detection Demo
May 16, 2008, 3:50 pm
Filed under: Uncategorized

This is one of the earlier demo we wrote to experiment with blob detection.  The program uses the camera on the macbook or the Logitech webcam to capture images and track color blobs specified by the user.  After the program started, user can click on the color they want to track in the application window and the program will track blobs of that color and calculate the size of the blobs.

Blob tracking might at first seems like a trivial task; it was a lot more difficult than we previously anticipated.  The program picks up noises from the environment and it returns irrelevant blobs from time to time.  We try to overcome this by smoothing and performing segmentation on the image prior to searching for the color blobs.  The program is still prone to error if the color is too similar to the background color, the blob is too small or the lighting condition changes.  The source code can be downloaded here .  (Note: wordpress doesn’t allow user to upload zip file, so I renamed it to BlobDetectionDemo.pdf.  To decompress the source code, you have to change the file name to


Figure 1. A screen shot of the program tracking a color finger wrap.  It puts a red box around of finger wrap and provide a label indicating its size.

Figure 2. We find that the size label increases quadratically as we move the finger closer to the camera.


Meetings of the Mind
May 16, 2008, 3:50 pm
Filed under: Uncategorized

We presented our project’s poster at the meetings of the mind hosted by Carnegie Mellon University’s Undergraduate Research Organization.  Here is the pdf for the poster.  


Mid Year Report
January 5, 2008, 4:41 am
Filed under: Uncategorized
Current Progress:

Synopsis: We are currently working on a multi-touch solution using a webcam to track color bands on a finger.  We are only able to track one color at the moment, but the program will soon be able to track multiple color.   

1) We use the quick time java library to capture video contents from the webcam/iSight.  
2) We use a statistical regional matching algorithm (see reference) to segment the video frames into statistically important regions.  By employing this extra step we are able to reduce the amount of noise.
3) We use a color tracking algorithm to find the object of importance

Here is a demo video of color tracking program.  The window on top left is the post processed image after running the video through the statistical region matching algorithm.
Reference: R. Nock, F. Nielsen: Statistical Region Merging. IEEE Trans. Pattern Anal. Mach. Intell. 26(11): 1452-1458 (2004)

The Quickcam Pro 9000
November 25, 2007, 7:24 pm
Filed under: Uncategorized

We ordered the Quickcam Pro 9000 from this tuesday.  It was black friday week so the webcam was on sales.  The original price is $99 USD but we were able to get it for less than $50 USD. was selling it for $75.99 earlier this week and there is a $20 mail in rebate and $10 off for using Google check out so it was $75.99 – $20 -$10 = $45.99 USD with free shipping.  Considering that it comes with Carl Zeiss lens with auto focus and a 2.0 Megapixel camera this is an amazing deal!!