9个不稳定版本 (3个破坏性更新)
0.4.1 | 2024年5月3日 |
---|---|
0.4.0 | 2024年4月29日 |
0.3.3 |
|
0.3.0 | 2024年3月26日 |
0.1.0 | 2024年3月20日 |
#65 在 多媒体
在 2 个Crates中使用(通过 stardetect)
20KB
465 代码行
图像-rs的ATrous离散小波变换 (DWT)
本项目提供了图像的ATrous离散小波变换(DWT)算法的实现。ATrous DWT是一种用于信号和图像处理的技巧,特别适用于去噪、压缩和特征提取等任务。
概述
ATrous DWT是离散小波变换(DWT)的一种变体,涉及与滤波器的卷积。它将图像分解成不同的频率子带,允许在多个分辨率下进行分析。此实现支持正向和反向变换。
原因
我正在尝试构建一套Rust工具,以促进图像处理,主要针对深空图像和数据。小波变换和多分辨率分析在这些情况下是非常广泛使用的变换。
使用方法
fn remove_large_scale_structures() {
let image = image::open("./sample.jpg").unwrap();
let transform = ATrousTransform::new(&image, 6, B3SplineKernel);
let recomposed = transform
.into_iter()
// Skip pixel scale 0 layer for noise removal
.skip(1)
// Only take layers where pixel scale is less than 2
.filter(|item| item.pixel_scale.is_some_and(|scale| scale < 2))
// Recompose processed layers into final image
.recompose_into_image(image.width() as usize, image.height() as usize);
recomposed.to_rgb8().save("recombined.jpg").unwrap()
}
安装
要在Rust项目中使用此库,请将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
image_dwt = "0.3.2"
依赖项
~6.5MB
~92K SLoC