WIP: Not ready for production use!
libfastimagehash
is a imagehash
replacement for C/C++.
See also:
- go bindings (with cgo).
- imagehash-web (Javascript version)
#include <fastimagehash.h>
int main() {
unsigned char result[HASH_SIZE];
phash_file("image.jpeg", result, HASH_SIZE, HIGHFREQ_FACTOR);
}
# Download dependencies
apt install libopencv-dev libfftw3-dev cmake
# Checkout source
git clone --recursive https://github.com/simon987/fastimagehash
# Build
cmake .
make
# Install as a system library
sudo make install
Built with
- opencv for image decoding & resizing
- wavelib for wavelet decomposition in
whash
(With additional CFLAGS) - fftw3 for DCT in
phash
- google/benchmark to measure performance
Disclaimer: The methods used to compute the image hashes
are identical to the imagehash
python library, however, due to
some slight differences in the way OpenCV vs Pillow images are resized,
the final image hashes are not always exactly the same.