Crate image_hasher

Source
Expand description

A crate that provides several perceptual hashing algorithms for images. Supports images opened with the image crate from Piston.


use image_hasher::{HasherConfig, HashAlg};

let image1 = image::open("image1.png").unwrap();
let image2 = image::open("image2.png").unwrap();

let hasher = HasherConfig::new().to_hasher();

let hash1 = hasher.hash_image(&image1);
let hash2 = hasher.hash_image(&image2);

println!("Image1 hash: {}", hash1.to_base64());
println!("Image2 hash: {}", hash2.to_base64());

println!("Hamming Distance: {}", hash1.dist(&hash2));

Structs§

Hasher
Generates hashes for images.
HasherConfig
Start here. Configuration builder for Hasher.
ImageHash
A struct representing an image processed by a perceptual hash. For efficiency, does not retain a copy of the image data after hashing.

Enums§

BitOrder
The bit order used when forming the bit string of the hash
FilterType
Available Sampling Filters.
HashAlg
Hash algorithms implemented by this crate.
InvalidBytesError
Error that can happen constructing a ImageHash from bytes.

Traits§

DiffImage
Image types that can be diffed.
HashBytes
Interface for types used for storing hash data.
Image
Shorthand trait bound for APIs in this crate.