Skip to content

JPMMaia/computer-vision-1

Repository files navigation

Computer Vision Course

This project contains the source code of five different assignments done for a computer vision course:

  1. Merge and alignment of three different images, each corresponding to a different color chanel (R, G, B).
  2. K-means clustering applied to images.
  3. Implementation of a scale-invariant blob detector, based on the Laplacian blob detector.
  4. Image stitching using SIFT features.
  5. Scene recognition using a bag of visual words and SIFT features.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • MATLAB along with the Image Processing Toolbox and the Statistics and Machine Learning Toolbox

Usage

  1. Get a copy of the source code of this repository by cloning it using Git or simply by downloading it.
  2. To test an assignment, run the code of the file that starts with test located at the corresponding Source folder.
  3. The tests take as input the images located at the Resources folder. Check the results, by looking into the Output folder. Note that in some cases, the results may differ between runs (e.g. K-means clustering results).

Results

Assignment 1 - Merge and allignment of channels

Example input (three misaligned images representing the red, green and blue channels):

Example output (allignment and merge of the three channels):

Assignment 2 - K-means clustering

Example input:

Example output (k=3, 5 dimensions (r, g, b + x, y):

Assignment 3 -Laplacian blob detector

Example input:

Example output:

Assignment 4 - Image stitching

Example input:

Example output:

Assignment 5 - Scene recognition

Training set: All images contained on the Resources/train folder.

Test set: All images contained on the Resources/test folder.

Results: The system was able to classify 60% of the test images correctly.

Built With

Authors