Files
small-image-descriptors/README.md
T

24 lines
1.7 KiB
Markdown

# Small Image Descriptors
64-bit image descriptors for efficient near-copy detection.
## About
This is a research project done by a graduate student. This code will be accompanied by a paper at some point, or rather the other way around.
It's still a work in progress, and as such all features can only be accessed by adding code to main and recompiling the thing. At this point it takes a folder with images as input (most common image formats accepted), and calculates a bunch of *descriptors* of at most 64 bits per image. Depending on the quality of the descriptor used (multiple are implemented) two images with exactly the same value should be copies or near-copies. Images with small distances between their descriptors might be very similar, and images with big distances very dissimilar, etc.
Eventually this should run as a (web)service that can hold a large database of descriptors in memory and quickly respond to an image-query returning similar images.
## Compilation
Requirements:
- Boost
- Serialization
- Filesystem
- System
- ImageMagick (Magick++)
- A C++ compiler
A Makefile is included that should work on any system with the above requirements met. Code is written in a portable way, so should work on any system that has the libraries installed, but your mileage may (and will) vary.
## Usage
Compile and run. Probably some adjustments to the code are required if you want some output. Most methods are accompanied by a short docstring header thingy that you can read if you like.
It should work through small image datasets pretty quickly. By the power of compiler optimization it should multi-thread pretty good, but practically speaking the program is bottlenecked by IO.