Skip to content

A5M1/imgphash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imagehash_ffi

Rust crate providing C FFI for perceptual image hashing functions.

Build

cargo build --release

Output:

  • Linux: target/release/libimagehash_ffi.a / libimagehash_ffi.so
  • Windows: target/release/imagehash_ffi.lib / imagehash_ffi.dll
  • macOS: target/release/libimagehash_ffi.a / libimagehash_ffi.dylib

API

char* imagehash_average_hash(const uint8_t* data, uint32_t width, uint32_t height, uint32_t hash_size);
char* imagehash_dhash(const uint8_t* data, uint32_t width, uint32_t height, uint32_t hash_size);
char* imagehash_phash(const uint8_t* data, uint32_t width, uint32_t height, uint32_t hash_size, uint32_t highfreq_factor);
char* imagehash_whash_haar(const uint8_t* data, uint32_t width, uint32_t height, uint32_t hash_size, int32_t image_scale);
char* imagehash_colorhash(const uint8_t* data, uint32_t width, uint32_t height, uint32_t binbits);
uint32_t imagehash_hamming_distance(const char* hex1, const char* hex2);
void imagehash_free_string(char* s);

Usage

extern char* imagehash_phash(const uint8_t* data, uint32_t width, uint32_t height, uint32_t hash_size, uint32_t highfreq_factor);
extern void imagehash_free_string(char* s);

uint8_t* rgb = ...; // RGB24 data
char* hash = imagehash_phash(rgb, 64, 64, 8, 4);
// use hash
imagehash_free_string(hash);

AI DISCLOSURE

model the following model generated this readme, running on a gpu server running entirely on solar.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages