Created a panorama image (i.e., by stitching) from two separate images and developed filters to detect edges along different directions in an image. Performed morphological operations to denoise and extract boundaries from noisy images
Found keypoints (i.e. points of interest) in the given images, using SIFT point detector.
Used SIFT to extract features for these keypoints.
Matched the keypoints between two images by comparing their feature distance using KNN, k=2. I have used “ratio testing” to filter good matches (n0 = 0.75).
Computed the homography matrix using RANSAC algorithm.
Used the homography matrix to stitch the two given images into a single panorama.
Left and Right Images
Panorama:
Task2: Denoising and Edge Detection
Performed Image denoising and Edge detection
Implemented a 3x3 median filter to denoise image with salt-and-pepper noise
Manually created different filters to detect horizontal, vertical, 45° direction and 135° direction (i.e. diagonal) edges
Noisy image and denoised image:
Edge detection:
Edges along x and y
Edges along 45° and 135°
Task3: Morphology Image Processing
Implemented four morphology operations
Erode
Dilate
Open
Close
Implemented denoising using open and close operations
Implemented boundary extraction using erode operation.
Noisy image, Denoised image and Boundary extracted image