I'm trying to check if a picture uploaded by a user has been uploaded before or slightly modified and reupload in the same channel The procedure is as follows:
Convert a full color image to grayscale and lower the resolution to 400 × 400 pixels.
Apply a high-pass filter to the reduced resolution image.
Partition image into non-overlapping quadrants and pack it into a feature vector.
Create hash based on shading value of each square as a total
Calculate the similarity of uploaded picture's hash with stored hashes from mongoDB by using the Euclidean distance between two feature vectors, with distances below a specified threshold qualifying as a match
My question is, which up to date libraries can I use instead of making everything from scratch?