Crate imagehash

Source
Expand description

The imagehash crate provides image hashing algorithms.

§Supported Algorithms

  • Average Hash (aHash)
  • Difference Hash (dHash)
  • Perceptual Hash (pHash)

§Usage

let img_filename = "tests/1.jpg";
let img = image::open(img_filename).unwrap();

// Simple usage
let hash = imagehash::average_hash(&img);
println!("{}", hash); // hex-encoded hash string

// Advanced usage
let hasher = imagehash::AverageHash::new()
    .with_image_size(8, 8)
    .with_hash_size(8, 8)
    .with_resizer(|img, w, h| {
       // Your custom resizer function
       img.resize_exact(w as u32, h as u32, image::imageops::FilterType::Lanczos3)
   });
let hash = hasher.hash(&img);
println!("{}", hash); // hex-encoded hash string

Structs§

AverageHash
Provides average hash (aHash) calculation.
DifferenceHash
Provides difference hash (dHash) calculation.
Hash
Represents a hash value.
PerceptualHash
Provides perceptual hash (pHash) calculation.

Functions§

average_hash
Calculates average hash (aHash) of the image.
difference_hash
Calculates difference hash (dHash) of the image.
perceptual_hash
Calculates perceptual hash (pHash) of the image.