5 个稳定版本
2.0.0 | 2024 年 3 月 11 日 |
---|---|
1.2.0 | 2023 年 6 月 2 日 |
1.1.2 | 2022 年 11 月 26 日 |
1.1.0 |
|
1.0.0 | 2022 年 4 月 2 日 |
#48 in 图像
9,293 每月下载量
用于 7 crate
59KB
1K SLoC
Image Hasher
用于获取图像感知哈希值的库。
感谢 Dr. Neal Krawetz 提供了平均(aHash)、梯度(dHash)和 DCT(pHash)感知哈希算法的轮廓
http://www.hackerfactor.com/blog/?/archives/432-Looks-Like-It.html (2014 年 8 月访问)
还提供了 Blockhash.io 算法 的实现。
此 crate 可以直接从 PistonDevelopers/image crate 的缓冲区操作。
这是 img_hash 库的分支,但已更新依赖项。
我对这个库不熟悉,所以如果你有需要/愿意开发它,我可以添加你作为共同维护者。
用法
将 image_hasher
添加到你的 Cargo.toml
image_hasher = "2.0.0"
示例程序
use image_hasher::{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));
}
基准测试
为了在 Rust 稳定版上构建和测试,必须在功能门后面放置基准测试。如果您已安装 Rust 夜间版并想运行基准测试,请使用以下命令
cargo +nightly bench
许可证
根据您的选择,许可协议为
- Apache 许可证第 2 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证定义,均应双重许可如上所述,不附加任何额外条款或条件。
依赖关系
~5.5MB
~111K SLoC