Crate img_hash

Source
Expand description

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

extern crate image;
extern crate img_hash;
 
use img_hash::{HasherConfig, HashAlg};

fn main() {
    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));
}

Re-exports§

pub extern crate image;

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§

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.