|
Projects |
|
|
|
|
|
Description |
Results |
Video of Results |
|
Image Picker
Developed an image picker application that provides 2D/3D translation, 2D planer rotation, 3D rotation, zoom in, zoom out, and free hand deformation operations on loaded image.
|
||
|
Tracking using Intersection of Weighted Gaussian Histogram
Used "Histogram Intersection" to track the human face in a series of 463 images. Gaussian histogram is generated by using distance to the center pixel of the filter. High weight is given to nearest pixels from the center and low weight is given to pixels far from the center to reduce the influence of the background information.
|
||
|
Animation in 3D
Developed a 3D animation application that animates a robot model that is defined using 6 moving components in a 3D environment. The robot walks on a bi-cubic path and the environment is created using multiple trees and other 3D objects. The view point of a camera can be rotated, translated, zoomed in/out and toggled in first-person and third-person modes.
|
||
|
Tracking using Normalized Correlation
Used "Normalized Correlation" to track the ping pong ball in the series of 30 images. A ping pong ball image is extracted from the first image as a template and it is matched to the next image to track the ball. A sub-image containing the ball by hand, which contains the ball entirely and little of the background is selected as a template. For the subsequent images, a template centered on the detected location from the most recent image is extracted and the matching is performed. In other words, the image template is continuously updated and used to search the ball in the next image.
|
||
|
Bezier Patches
Developed a simple modeling interface to view, rotate and manipulate Bezier patches. Bezier patches are rendered as a wire frame or a smooth surface model. The location of camera and light sources can be changed.
|
||
|
Shadowing using the 2-pass shadow algorithm
Developed a rendering application that creates a virtual scene which is defined by multiple 3D objects. The viewport and light around the scene can be changed manually using keyboard shortcuts.
|
||
|
Raytracer
The goal of this project was to implement a basic ray-tracer application that draws one or more color ellipsoids in 3D. Ellipsoids might be occluded from each other. Intersection between rays from the eyes and ellipsoids is calculated to determine the location and color of pixels which are displayed on the screen. Locations of a ray source, light sources, ellipsoids and number of ellipsoids are configurable.
|
||
|
Edge Detection
The goal of this project was to detect the object boundaries. Gradients in X and Y directions were calculated using sobel filters. X gradients is used to detect horizontal brightness changes and Y gradient is used to detect vertical brightness changes. Magnitude/norm of gradient image is calculated to combine the effects of X and Y gradient images. Norm is thresholded and interpolated to get the edges (object boundaries) from the image.
|