Image Processing Algorithms
This repository contains implementations of various image processing algorithms, covering techniques for filtering, segmentation, blending, and more. Each algorithm has its own directory with corresponding input materials and output results.
Image Enhancement
Color Processing and Blurring
Convolution Implementation
Histogram Specification
Homography and Image Warping
Hough Transform
Hybrid Images
Image Completion and Hole Filling
Active Contour
Image Morphing
Bird Segmentation in Images
Image Sharpening
K-means Clustering
Mean-Shift Clustering
Image Blending
Prokudin-Gorskii Images
SLIC Superpixel Segmentation
Template Matching
Texture Synthesis
Each algorithm is implemented in a separate directory. To explore an algorithm:
Navigate to the corresponding directory.
Inside the input/ folder, you'll find the input materials required for the algorithm.
The output/ folder contains the final results and intermediate outputs.
Enhances image quality using contrast adjustment.
2. Color Processing and Blurring
Changes the color of a flower in the image using color transformations.
3. Convolution Implementation
Implements 2D convolution using different functions and compares their runtimes.
4. Histogram Specification
Adjusts an image’s histogram to match a specified target histogram.
5. Homography and Image Warping
Computes homography transformations and warps images accordingly.
Detects lines and shapes in images using the Hough Transform.
Blends high and low frequencies of two images to create hybrid images.
8. Image Completion and Hole Filling
Fills missing parts of an image using inpainting techniques.
11. Bird Segmentation in Images
Designed a method to segment birds in images using Felzenszwalb segmentation and K-Means clustering.
Applies sharpening filters to enhance edge details.
Implemented the K-Means algorithm.
14. Mean-Shift Clustering
Segments images using the mean-shift clustering algorithm.
This section includes two powerful image blending techniques:
Multiresolution Blending and Feathering : Seamlessly blends multiple images at different resolutions, ensuring smooth transitions between them.
Poisson Blending : Uses Poisson Image Editing to integrate images naturally by preserving gradient consistency.
16. Prokudin-Gorskii Images
Aligns and reconstructs historical color images from glass negatives.
17. SLIC Superpixel Segmentation
Segments images into superpixels using the SLIC algorithm.
Finds matching patterns in images using template matching.
Generates textures from example patches using synthesis algorithms.