This repository contains a collaborative effort to explore the intersection of classical Image Processing and Convolutional Neural Networks (CNNs). Our goal is to develop a pipeline that cleans and augments raw image data before feeding it into a custom deep-learning model for classification/detection tasks.
- Implement custom filters (Sobel, Gaussian, Laplacian) using NumPy/OpenCV.
- Develop a CNN architecture optimized for [mention dataset, e.g., CIFAR-10 or custom data].
- Compare performance between raw image inputs and pre-processed feature-mapped inputs.
- Language: Python
- Deep Learning: TensorFlow / Keras (or PyTorch)
- Image Processing: OpenCV, NumPy, Matplotlib
Ensure you have a C++ compiler and Python environment set up. If you are using a dedicated GPU ensure CUDA and cuDNN are correctly configured.
-
Clone the repository:
Bash (Using the https):
git clone https://github.com/ASAnonymousS/IP-and-CNN.git cd IP-and-CNNBash (Using the ssh): Recommended
git clone git@github.com:ASAnonymousS/IP-and-CNN.git cd IP-and-CNN -
Create a virtual environment:
Linux:
python -m venv venv source venv/bin/activateWindows:
python -m venv venv venv\Scripts\activate
-
Install dependencies:
Bash
pip install -r requirements.txt
Plaintext
.
├── References/
│ ├── Image_Samples/ # Standard test images (Lenna, Pout, etc.)
│ ├── MATLAB_Files/ # DSP & Signal Processing toolkit (.m scripts)
│ └── matplotlib/ # Python scripts for color space & histogram analysis
├── README.md # Project documentation
└── requirements.txt # Python dependencies
- Navigate to:
cd References/MATLAB_Files - Open scripts like
binaryimg.morIMG01.min MATLAB to perform initial image manipulations.
- Navigate to:
cd References/matplotlib - Run scripts for specific analysis:
color_seperations.py: Visualize RGB channels.histogram.py: Generate pixel intensity distributions.rgb2gray_for_matplotlib.py: Custom grayscale conversion logic.
Our team is currently focused on mastering and implementing the following frameworks to build the end-to-end pipeline:
- Data Visualization: Learning Matplotlib for EDA and results plotting.
- Numerical Computing: Mastering NumPy for high-performance matrix operations.
- Computer Vision: Implementing image filtering and transformations with OpenCV.
- Deep Learning: Developing and training models using TensorFlow, Keras, and PyTorch.
Since this is a collaboration, please follow the workflow to maintain project integrity:
- Pull the latest changes from
main. - Create a new branch for your feature (
git checkout -b your-name). - Environment Safety: Ensure your local virtual environment is not tracked. If you create a new environment, verify that
.venv/orvenv/is listed in the.gitignorefile before staging changes. - Commit your updates with clear, descriptive messages (and use GPG/SSH signing if configured).
- Push and open a Merge/Pull Request with detailed explanation of the updates in the pull request.