Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akamhy/dhashpy
Row-wise gradient dHash algorithm implementation.
https://github.com/akamhy/dhashpy
dhash image-fingerprint image-hash image-hash-based-on-pixel-value image-hashing image-hashing-algorithms
Last synced: 15 days ago
JSON representation
Row-wise gradient dHash algorithm implementation.
- Host: GitHub
- URL: https://github.com/akamhy/dhashpy
- Owner: akamhy
- License: mit
- Created: 2021-09-30T15:19:00.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-21T13:21:41.000Z (about 3 years ago)
- Last Synced: 2024-09-20T00:50:18.513Z (about 2 months ago)
- Topics: dhash, image-fingerprint, image-hash, image-hash-based-on-pixel-value, image-hashing, image-hashing-algorithms
- Language: Python
- Homepage: https://dhashpy.readthedocs.io/en/latest/
- Size: 74.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
dHashPy
Row-wise gradient dHash algorithm in python.
dHash algorithm was originally described at Kind of Like That - The Hacker Factor Blog### Installation
- Using [pip](https://en.wikipedia.org/wiki/Pip_(package_manager)):
```bash
pip install dhashpy -U
```- Install directly from GitHub:
```bash
pip install git+https://github.com/akamhy/dhashpy.git
```### Usage
```python
>>> from dhashpy import DHash
>>> file = "/home/akamhy/Pictures/map_of_maths.png"
>>> dhash_file = DHash(file)
>>> dhash_file
DHash(hash=0b0110010000000011101010111100110111001101100011111000111100001110, hash_hex=0x6403abcdcd8f8f0e, path=/home/akamhy/Pictures/map_of_maths.png)
>>>
>>> dhash_file.hash # A 64-bit hash, notice the prefix "0b" indicating it's binary. Total string length = 64 + 2 = 66
'0b0110010000000011101010111100110111001101100011111000111100001110'
>>>
>>> len(dhash_file)
66
>>> dhash_file.bits_in_hash
64
>>>
>>> dhash_file.hash_hex
'0x6403abcdcd8f8f0e'
>>>
>>> dhash_file - "0x6403abcdcd8f8f0e"
0
>>>
>>> dhash_file == "0x6403abcdcd8f8f0e"
True
>>>
>>> dhash_file - "0b0110010000000011101010111100110111001101100011111000111100001110"
0
>>>
>>> dhash_file
dhash_file
>>> dir(dhash_file)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__weakref__', 'bin2hex', 'bits_in_hash', 'calc_hash', 'hamming_distance', 'hash', 'hash_hex', 'height', 'hex2bin', 'image', 'path', 'width']
>>> dhash_file.height
8
>>> dhash_file.width
9
>>> dhash_file.image>>>
```> Docs :
### License
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/akamhy/dhashpy/blob/main/LICENSE)Released under the MIT License. See
[license](https://github.com/akamhy/dhashpy/blob/master/LICENSE) for details.