Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 1.24 KB

README.md

File metadata and controls

50 lines (36 loc) · 1.24 KB

Python package to compute image perceptual hashes. The perceptual hash is based on the mobilenetv2 tensorflow image classification model. It is condensed down to 32-bytes per image. Distance between two hashes gives some measure of image similarity, where distance(a,b) == 0 means idential images and similar images give lower distance.

Usage

Try it out

pip install pyphashml

Calculate perceptual hash for two images and calculate distance:

from pyphashml.phashml import phashmlctx
from pyphashml.phashml import phashml_distance

x = phashmlctx.image_hash("/path/to/imgfile.jpg")
y = phashmlctx.image_hash("/path/to/imgfile2.jpg")
d = phashmlctx.phashml_distance(x, y)

x,y are bitstring objects. d is an integer value >= 0.

Submit perceptual hashes for a directory of images to ImageScoutPro server

python -m pyphashml.imgscoutclient --dir /path/to/img/files --key mykey --host 127.0.0.1 --port 6379 --db 0

Compare two images by their perceptual hashes

python3 -m pyphashml.imgcmp /path/to/img/file.jpg /path/to/img/file2.jpg

Reqires

bitstring numpy tensorflow >=1.14,<2 redis (for the imgscoutclient command to submit to imgscout server)