Offline Reverse Image Search

Overview

This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specialized data structure called VP-Tree which makes searching an image on a dataset of 100Ks almost instantanious

Online Examples

Online examples of this are Google images & TinEye which return near duplicate results from images they indexed across the web

App UI & example

On the left you can see the given image (for the example it’s slightly different from the original) and on the right the result

Dependencies

  • Python 3.7+ (haven’t tested with older versions)

Requirements & installation

required versions of the Python 3 modules can be found on the requirements.txt

Pyqt6 is used but works with PyQt5 too if you update the app.py file modules import

Windows

pip install -r /path/to/requirements.txt

Linux

pip3 install -r /path/to/requirements.txt 

run app.py to start

First run:

settings.ini will be created on the directory

Hashing Pickle & VPTree pickle files will be created on the first index

More detail & Credits

Special Thanks to Adrian Rosebrock for his tutorials that made this possible
Detailed Guide how everything works and step by step make your own

GitHub

View Github