This repository contains a collection of image processing mini-projects, demonstrating various techniques and algorithms in the field of digital image processing.
- Digital Image Processing Projects
- Table of Contents
- Section 1: Image Transformations and Color Space Conversions
- Section 2: Image Cartoonization and Noise Analysis
- Section 3: Image Processing and Fingerprint Recognition
- Section 4: Edge Detection and Texture Synthesis
- Section 5: JPEG Image Compression Implementation
- Getting Started
- Usage
- Contributing
- License
- Contact
This section focuses on basic image transformations and color space conversions. Key topics include:
- Face detection using Haar Cascade Classifier
- Linear and non-linear image transformations
- Color indexing with K-means classifier
- Color space transformations (RGB, HSV, YCrCb, LAB, XYZ)
This section explores image cartoonization techniques and analyzes the effects of noise on image quality. Key topics include:
- Image cartoonization methods
- Noise analysis using MSE and PSNR metrics
- Effects of noise intensity and filter degree on image quality
This section implements Butterworth filters and develops a basic fingerprint recognition system. Key topics include:
- Butterworth low-pass and high-pass filters
- Image preprocessing for fingerprint recognition
- Edge extraction in fingerprint images
- Fingerprint classification using rotation matrices
This section focuses on various edge detection techniques and texture synthesis algorithms. Key topics include:
- Canny edge detection
- Laplacian of Gaussian (LoG) edge detection
- Image binarization and hole filling
- Texture synthesis algorithms (Random, Best Random, Min Cut)
This section implements the complete procedure for converting an image into JPEG format. Key components include:
- RGB to YCrCb color space conversion
- Discrete Cosine Transform (DCT) and its inverse
- Quantization and de-quantization
- Run-length encoding and decoding
- Compression using zlib
To run these projects, you'll need Python and the following libraries:
- OpenCV
- NumPy
- Matplotlib
- SciPy
- Scikit-learn
- zlib
You can install these dependencies using pip:
pip install opencv-python numpy matplotlib scipy scikit-learn
Each section has its own directory with a separate README file explaining the specific projects and how to run them. Navigate to each section's directory and follow the instructions in their respective README files.
This repository is for educational purposes. If you'd like to contribute or suggest improvements, please open an issue or submit a pull request.
This project is open source and available under the MIT License.