The basic pHash principle can be seen in this. This project is mainly modified from the official project and starkdg-phash.
Features of this project:
- More simplified, Multi-platform and generic (MinGW, NDK, MSVC, GCC...).
- Add 4-channel color support, the original project will crash.
- Fix some bugs in the official pHash project.
- Use sqlite to replace mmap, easy to modify and unify.
Mainly on image hash:
- Support c++11 multithread.
- Code optimization for faster speeds.
- Add fast Gaussian blur algorithm.(on testing)
- Algorithm acceleration for 2 images of the same size. (on testing)
Prerequisites:
- CMake 3.12 or newer (previous versions unknown)
- A C++11 compiler
The project is mainly referenced from:
- pHash
- releases pHash-0.9.6.tar.gz
- starkdg-phash
- C++ implementation of a fast Gaussian blur algorithm by Ivan Kutskir, see here.
- CIMG
- dirent.h in msvc