undouble
The following steps are taken in the undouble library:
- Read all images from the directory recursively with the specified extensions.
- Compute image hash.
- Group similar images.
- Automatically organize the images in your folder if desired.
Blogs
- Read the blog to get a structured overview of how to detect duplicate images using image hash functions.
Documentation pages
On the documentation pages you can find detailed information about the working of the undouble with many examples.
Installation
It is advisable to create a new environment (e.g. with Conda).
conda create -n env_undouble python=3.8
conda activate env_undouble
Install bnlearn from PyPI
pip install undouble # new install
pip install -U undouble # update to latest version
Directly install from github source
pip install git+https://github.com/erdogant/undouble
Import Undouble package
from undouble import Undouble
Examples:
Example: Grouping similar images of the flower dataset
Example: List all file names that are identifical
Example: Moving similar images in the flower dataset
# -------------------------------------------------
# >You are at the point of physically moving files.
# -------------------------------------------------
# >[7] similar images are detected over [3] groups.
# >[4] images will be moved to the [undouble] subdirectory.
# >[3] images will be copied to the [undouble] subdirectory.
# >[C]ontinue moving all files.
# >[W]ait in each directory.
# >[Q]uit
# >Answer: w
Example: Plot the image hashes
Example: Three different imports
The input can be the following three types:
* Path to directory
* List of file locations
* Numpy array containing images
Example: Finding identical mnist digits
Citation
Please cite in your publications if this is useful for your research (see citation).
Maintainers
- Erdogan Taskesen, github: erdogant
Contribute
- All kinds of contributions are welcome!
- If you wish to buy me a Coffee for this work, it is very appreciated :)
Licence
See LICENSE for details.
Other interesting stuf
Metadata
Release files for undouble 1.4.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| undouble-1.4.11.tar.gz | 20.2 kB | Without provenance | Details for undouble-1.4.11.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| undouble-1.4.11-py3-none-any.whl | Python 3 | none | any | Details for undouble-1.4.11-py3-none-any.whl |
Total release size: 40.0 kB
Release files / undouble-1.4.11.tar.gz
| Download URL | undouble-1.4.11.tar.gz |
|---|---|
| Size | 20.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb647d1a3b5a896250f2174c34811c2404083e8e4e1ebb3da6217b5976ae6d3c
|
|
BLAKE2b-256 checksum How to use checksums |
0e4aeed4b79e0acd2cb8028059b28554330bcedee37632f2c1a7525a352b5b0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / undouble-1.4.11-py3-none-any.whl
| Download URL | undouble-1.4.11-py3-none-any.whl |
|---|---|
| Size | 19.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb790d669263daa7003e82fb04984137327bc73562ffae8327c58f1c35aa10d4
|
|
BLAKE2b-256 checksum How to use checksums |
de6de1d8221235a3c829beed8c3d0b64b2d7b109aa11e08e385dbc97fefacca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Security for undouble 1.4.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.