This project implements a Content-Based Image Retrieval (CBIR) system using color, shape, and texture descriptors. The goal is to enable efficient image search and retrieval by analyzing visual content and comparing images based on low-level features and deep learning techniques.
- Extraction of color features (e.g., color histograms)
- Extraction of shape features (e.g., edge detection, contour analysis)
- Extraction of texture features (e.g., GLCM, LBP)
- Image similarity comparison using feature descriptors
- Experimentation with Siamese neural network (deep learning variant)
- Interactive Jupyter notebooks for analysis and visualization
- Python 3
- Jupyter Notebook
- OpenCV
- NumPy, Pandas
- scikit-image
- Matplotlib, Seaborn
- TensorFlow / Keras (for Siamese network)
├── cbir-3.ipynb # Core notebook for color, shape, texture feature extraction
├── cbir-4.ipynb # Extended CBIR analysis and experiments
├── siamese2.ipynb # Deep learning based CBIR with Siamese network
-
Clone the Repository: git clone https://github.com/shi-wal/CBIR.git
-
Install Dependencies: Use pip to install requirements: pip install opencv-python numpy pandas scikit-image matplotlib seaborn tensorflow
-
Run Notebooks:
- Launch Jupyter Notebook
- Open the
.ipynbfiles and run the cells in sequence - Follow markdown instructions in each notebook for dataset paths and parameters
- Add your image dataset and update paths in the notebooks
- Extract features and perform image similarity queries
- Test the Siamese neural network notebook for deep learning-based retrieval
Sample outputs and retrieval results are shown in each notebook. You can visualize which images are most similar according to color, shape, texture, or deep learning features.
This project is free to use for learning and research purposes.
Created by shi-wal