This repository contains practical implementations of linear algebra techniques, focusing on spectral clustering and image processing. The project addresses clustering problems using graph-based methods and applies image denoising using Fourier transforms and Singular Value Decomposition (SVD).
- Graph Representation: Constructing similarity matrices using custom graph classes.
- Laplacian Matrix: Computing the Laplacian matrix for spectral clustering, enabling the identification of clusters in graphs.
- Fourier Transform: Applying 2D Fourier transforms for image compression and noise reduction.
- Image Compression: Using Fourier Transform to compress images by transforming them into the frequency domain and reducing the data in higher frequencies.
- Image Denoising: Utilizing SVD and FFT to filter out high-frequency noise, improving image clarity and quality.
- Graph Construction: Representing graphs using nodes, edges, and matrices.
- Visualizations: Generating plots and images, including Fourier and SVD-based transformations, to demonstrate clustering and denoising results.
- Spectral Clustering: Perform clustering on graphs with Laplacian matrices.
- Fourier Transform for Compression: Compress and denoise images using 2D FFT and SVD.
- Custom Graph Class: Designed for creating similarity matrices and graph representations.
- Image Denoising: Clean noisy images using empirical techniques in Fourier space.
- Visualization: Visualize clustering results and denoising outputs through images and plots.
- Data Handling:
numpy,pandas - Visualization:
matplotlib,seaborn - Image Processing:
cv2,scipy - Linear Algebra:
numpy,scipy
This project showcases practical implementations of linear algebra techniques, spectral clustering, and image processing methods, demonstrating their effectiveness in real-world tasks such as graph-based clustering and image denoising.