This lib will provide some VL/vvvv nodes to perform image perceptual hashing using DupImageLib. Still work in progress.
A perceptual hash is a fingerprint of a multimedia file derived from various features from its content. Unlike cryptographic hash functions which rely on the avalanche effect of small changes in input leading to drastic changes in the output, perceptual hashes are "close" to one another if the features are similar. (from phash.org)
Here are a few interesting articles on image perceptual hash in case you're interested :
- On bertolami.com
- On jenssengers.com
You can use AverageHash, MedianHash, DifferenceHash and DctHash algorithms (more informations about those can be found on DupImageLib's repo'). Some are quicker but give less pertient results, while others are slower but more accurate. They all take a Path to an image as an input (Stream is also possible but not implemented yet).
This library uses a native dll as dependency, so VL won't be able to load it automatically (see Graybook here). You'll have to create a batch file that adds the path to that dll in VL's search paths and start vvvv with it.
Then, open root.v4p
. It contains a VL plugin that uses VL.ImageHashes as a dependency.
- Document patches with pin descriptions and stuff
- More relevant demo patch (with Skia?)
- Try to understand the stream thingy