#图像处理 #计算机视觉 #图形学

基于图的图像分割

基于超像素的基于图的图像分割算法实现

3 个不稳定版本

0.2.1 2023年5月25日
0.2.0 2023年5月24日
0.1.0 2022年11月4日

#114#图像处理

每月 22 次下载

MIT 许可协议

30KB
457

高效的基于图的图像分割

此存储库包含对 [1] 中描述的基于图的图像分割算法的 Rust 实现(可在 此处 获取),专注于生成过分割,也称为超像素。

轮廓 标签

请注意,这是一个参考实现,速度并不特别快。

[1] P. F. Felzenswalb and D. P. Huttenlocher.
    Efficient Graph-Based Image Segmentation.
    International Journal of Computer Vision, volume 59, number 2, 2004.

实现基于 David Stutz 的这项工作,该工作又被用于 [2] 中的评估。

[2] D. Stutz, A. Hermans, B. Leibe.
    Superpixels: An Evaluation of the State-of-the-Art.
    Computer Vision and Image Understanding, 2018.

示例用法

fn main() {
    let mut image = imread("data/tree.jpg", IMREAD_COLOR).unwrap();

    let threshold = 10f32;
    let segment_size = 10;
    let mut segmenter = Segmentation::new(
        EuclideanRGB::default(),
        MagicThreshold::new(threshold),
        segment_size,
    );

    // NOTE: The image should be blurred before use; this is left out here for brevity.
    let labels = segmenter.segment_image(&image);
}

依赖项

~1.7–2.6MB
~25K SLoC