| Crates.io | imgdd |
| lib.rs | imgdd |
| version | 0.1.3 |
| created_at | 2025-01-30 04:09:13.91505+00 |
| updated_at | 2025-02-07 01:50:24.248821+00 |
| description | Performance-first perceptual hashing library; perfect for handling large datasets. Designed to quickly process nested folder structures, commonly found in image datasets |
| homepage | https://github.com/aastopher/imgdd |
| repository | https://github.com/aastopher/imgdd |
| max_upload_size | |
| id | 1536080 |
| size | 55,976 |
imgdd is a performance-first perceptual hashing library that combines Rust's speed with Python's accessibility, making it perfect for handling large datasets. Designed to quickly process nested folder structures, commonly found in image datasets.
aHash, dHash, mHash, pHash, wHash.Nearest, Triangle, CatmullRom, Gaussian, Lanczos3.imgdd has been inspired by imagehash and aims to be a lightning-fast replacement with additional features. To ensure enhanced performance, imgdd has been benchmarked against imagehash. In Python, imgdd consistently outperforms imagehash by ~60%–95%, demonstrating a significant reduction in hashing time per image.
pip install imgdd
use imgdd::*;
use std::path::PathBuf;
let result = hash(
PathBuf::from("path/to/images"),
Some("Triangle"), // Optional: default = "Triangle"
Some("dHash"), // Optional: default = "dHash"
Some(false), // Optional: default = false
);
println!("{:#?}", result);
use imgdd::*;
use std::path::PathBuf;
let result = dupes(
PathBuf::from("path/to/images"),
Some("Triangle"), // Optional: default = "Triangle"
Some("dHash"), // Optional: default = "dHash"
false,
);
println!("{:#?}", result);
```(duplicates)
Nearest, Triangle, CatmullRom, Gaussian, Lanczos3Contributions are always welcome! 🚀
Found a bug or have a question? Open a GitHub issue. Pull requests for new features or fixes are encouraged!