This commit is contained in:
2019-06-29 14:14:05 +02:00
parent 845a3309b0
commit 72e99058fe
+26 -1
View File
@@ -1 +1,26 @@
SmallImageDescriptors # 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.
A Visual Studio project is also included that did work at some point with certain libraries installed in certain places on certain systems.
## 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.