/CVIP_Projects

The projects are part of the graduate-level course CSE-573 : Computer Vision and Image Processing [Spring 2019 @ UB_SUNY] Course Instructor : David Doerman (https://cse.buffalo.edu/~doermann/)

Primary LanguagePython

Spring 2019

ub_logo.jpg
CSE-573: Computer Vision & Image Processing

bar.jpg

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 and Prewitt filters to detect edges in a given image
  • Implemented common image processing tasks :
    • padding
    • convolution
    • correlation
    • normalization etc.

Sample input and output:

Input image:

input_image.jpg

Output image:

Edge detection using Prewitt filter:

prewitt_x.jpgprewitt_y.jpgprewitt_mag.jpg

Edge detection using Sobel filter:

sobel_x.jpgsobel_y.jpgsobel_mag.jpg

                                                                                      Back To The Top

gray.jpg

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:

input_image.jpg

Templates: a.jpg b.jpg c.jpg

Output image:
detecting a

detecting b

                                                                                      Back To The Top

gray.jpg

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

                                                                                      Project Report

Sample input and output:

Input image:

nevada3.jpgnevada4.jpgnevada5.jpg

Output image:
nevada_panoroma.jpg

                                                                                      Back To The Top

gray.jpg

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 and CBCL dataset to train with 'non-face images'
  • Implemented integral image calculation
  • Adaboost implementation
  • Developed CASCADING to reject non-face region quickly

                                                                                      Project Report

output:


License

License

                                                                                      Back To The Top