CSE-573: Computer Vision & Image Processing
Problem:
Detect edges of a grayscale image. Do not use any API
provided by opencv
(cv2) and numpy
(np) in your code (except “np.sqrt()”).
Approach:
- The project applied
Sobel
andPrewitt
filters to detect edges in a given image - Implemented common image processing tasks :
- padding
- convolution
- correlation
- normalization etc.
Sample input and output:
Input image:
Output image:
Edge detection using Prewitt
filter:
Edge detection using Sobel
filter:
Problem:
Character Detection
: Find a specific character in a given image using template matching algorithms.
Approach:
- The project applied Template matching algorithm to detect a specific character (ex. a/b/c) in a given image
- Implemented
NCC (Normalized Cross Correlation)
for matching the template with the given image
Sample input and output:
Input image:
Output image:
detecting a
detecting b
Problem:
Image Stitching
: Create a panoramic image from at most 3 images. Overlap of the given images will be at least 20% and not more than 50%. Any API provided by OpenCV could be used, except “cv2.findHomography()
” and APIs that have “stitch”, “Stitch”, “match” or “Match” in their names, e.g., “cv2.BFMatcher()” and “cv2.Stitcher.create()”.
Approach:
- Keypoints detection and 128 bit feature vector computation using
SIFT
- Homography matrix generation using
SVD
- Implemented
RANSAC
algorithm for finding the best Homography matrix - Stitched all images
Sample input and output:
Input image:
Problem:
Implement the Viola-Jones
face detection algorithm which is capable of detecting frontal faces in real time and is regarded as a milestone in the development of computer vision. Any APIs provided by OpenCV that have “cascade”, “Cascade”, “haar” or “Haar” functionality can not be used. Using any APIs that implement part of Viola-Jones algorithm directly, e.g., an API that computes integral image, will result in a deduction of 10% − 100% of the maximum possible points of this project
Approach:
- Used
FDDB
dataset to train the model with 'face images andCBCL
dataset to train with 'non-face images' - Implemented
integral image
calculation Adaboost
implementation- Developed
CASCADING
to reject non-face region quickly
output: