For our final project in a graduate level computer vision, my partner and I developed a Matlab program for automatic logo detection based on the SIFT method (Scale Invariant Feature Transform). There are many difficulties in accurately matching a template image in a random given image, notably the scale and rotation may differ.
Our algorithm was written from the ground up over the course of 4 weeks. It works well on images that are face on, or on a reasonable slant. Extra time was taken to program a C function that extracted the mins and maxes out of the difference of Gaussians (DOGs) -- the time improvement changed from over 30 seconds to less than 0.03s.
Aspects: Computer Vision, Matlab, C, MEX files