Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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


Build Status
Build Status
codecov
docs
Code style: black

### 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.