content-based-image-retrieval

A content-based image retrieval (CBIR) system with Bayesian relevance feedback, utilizing color, shape, and texture descriptors for efficient image search.

https://github.com/samashi47/content-based-image-retrieval

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

bayesian-inference cbir image-indexing opencv python3 relevance-feedback
Last synced: 6 months ago · JSON representation

Repository

A content-based image retrieval (CBIR) system with Bayesian relevance feedback, utilizing color, shape, and texture descriptors for efficient image search.

Basic Info
  • Host: GitHub
  • Owner: Samashi47
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 54 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
bayesian-inference cbir image-indexing opencv python3 relevance-feedback
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

content-based-image-retrieval

Welcome to our web application designed to implement a robust Content-Based Image Retrieval (CBIR) system that enables efficient image search and management through visual features and relevance feedback mechanisms. Users can upload, download, delete, and categorize images into predefined classes, as well as generate new images by applying transformations like cropping and scaling. The system computes and displays visual descriptors for images, including color histograms, dominant colors, Gabor texture filters, Hu moments, and additional custom descriptors. It supports both basic search to retrieve visually similar images and an advanced Bayesian relevance feedback mechanism to iteratively refine results, providing an intuitive and dynamic way to explore the RSSCN7 dataset, which consists of 2,800 images categorized into seven scene types such as Residential, Forest, and Industry.

Installation

To start off, clone this branch of the repo into your local:

shell git clone https://github.com/Samashi47/content-based-image-retrieval.git

shell cd content-based-image-retrieval

Backend

After cloning the project, if you are using Python 3.12.z with shared libraries enabled, you can checkout to the edge branch, using the latest pymc version:

shell git checkout edge

If not, you can stay on the main branch.

Then, create a virtual environment:

shell cd apps/api

Windows

shell py -3 -m venv .venv

MacOS/Linus

shell python3 -m venv .venv

Then, activate the env:

Windows

shell .venv\Scripts\activate

MacOS/Linus

shell . .venv/bin/activate

You can run the following command to install the dependencies:

shell pip3 install -r requirements.txt

After installing the dependencies, you should specify the mongodb connection string in the .env file:

shell touch .env

env MONGO_URL=<url>

Then, you can run the following command to start the backend:

shell python server.py

Frontend

Open another terminal:

shell cd apps/app

Then, run the following command to install the dependencies:

shell pnpm install

then, run the following command to start the frontend, if you have angular cli installed globally:

shell ng serve

if not, you can run the following command:

shell pnpm run ng serve

Then, open your browser and navigate to http://localhost:4200/ to see the app running.

Owner

  • Name: Ahmed Samady
  • Login: Samashi47
  • Kind: user

GitHub Events

Total
  • Push event: 3
  • Public event: 1
Last Year
  • Push event: 3
  • Public event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 46
  • Total Committers: 2
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.413
Past Year
  • Commits: 46
  • Committers: 2
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.413
Top Committers
Name Email Commits
Ahmed Samady s****m@g****m 27
aL0NEW0LF m****9@g****m 19

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • Samashi47 (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

apps/app/package.json npm
  • @angular-devkit/build-angular ^19.0.4 development
  • @angular/cli ^19.0.4 development
  • @angular/compiler-cli ^19.0.0 development
  • @types/jasmine ~5.1.0 development
  • jasmine-core ~5.4.0 development
  • karma ~6.4.0 development
  • karma-chrome-launcher ~3.2.0 development
  • karma-coverage ~2.2.0 development
  • karma-jasmine ~5.1.0 development
  • karma-jasmine-html-reporter ~2.1.0 development
  • typescript ~5.6.2 development
  • @angular/animations ^19.0.0
  • @angular/cdk 19.0.2
  • @angular/common ^19.0.0
  • @angular/compiler ^19.0.0
  • @angular/core ^19.0.0
  • @angular/forms ^19.0.0
  • @angular/material 19.0.2
  • @angular/platform-browser ^19.0.0
  • @angular/platform-browser-dynamic ^19.0.0
  • @angular/router ^19.0.0
  • @types/plotly.js-dist-min ^2.3.4
  • cropperjs ^1.6.2
  • ngx-photo-editor ^0.4.4
  • plotly.js-dist-min ^2.35.2
  • rxjs ~7.8.0
  • tslib ^2.3.0
  • zone.js ~0.15.0
apps/app/pnpm-lock.yaml npm
  • 322 dependencies
apps/api/requirements.txt pypi
  • Flask ==3.1.0
  • Flask-Cors ==5.0.0
  • Jinja2 ==3.1.4
  • MarkupSafe ==3.0.2
  • PyJWT ==2.10.1
  • Theano-PyMC ==1.1.2
  • Werkzeug ==3.1.3
  • arviz ==0.12.1
  • blinker ==1.9.0
  • cachetools ==5.5.0
  • certifi ==2024.8.30
  • cffi ==1.17.1
  • cftime ==1.6.4.post1
  • click ==8.1.7
  • colorama ==0.4.6
  • contourpy ==1.2.1
  • cryptography ==44.0.0
  • cycler ==0.12.1
  • deprecat ==2.1.3
  • dill ==0.3.9
  • dnspython ==2.7.0
  • fastprogress ==1.0.3
  • filelock ==3.16.1
  • fonttools ==4.55.3
  • itsdangerous ==2.2.0
  • joblib ==1.4.2
  • kiwisolver ==1.4.7
  • matplotlib ==3.8.4
  • netCDF4 ==1.7.2
  • numpy ==1.22.1
  • opencv-python ==4.10.0.84
  • packaging ==24.2
  • pandas ==2.0.3
  • patsy ==1.0.1
  • pillow ==11.0.0
  • pycparser ==2.22
  • pymc3 ==3.11.6
  • pymongo ==4.10.1
  • pyparsing ==3.2.0
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • pytz ==2024.2
  • scikit-learn ==1.6.0
  • scipy ==1.7.3
  • semver ==3.0.2
  • six ==1.17.0
  • threadpoolctl ==3.5.0
  • typing_extensions ==4.12.2
  • tzdata ==2024.2
  • wrapt ==1.17.0
  • xarray ==2023.12.0
  • xarray-einstats ==0.6.0