3 个不稳定版本
0.2.0 | 2023年7月23日 |
---|---|
0.1.1 | 2023年1月15日 |
0.1.0 | 2022年5月26日 |
#367 in 图像
64KB
1K SLoC
simple_clustering
使用聚类方法的图像分割库和命令行工具。
目前支持的算法包括 SLIC (简单线性迭代聚类) 和 SNIC (简单非迭代聚类) 超像素算法。该crate还支持在图像分割周围绘制基本轮廓。
要将其作为库使用,请将以下内容添加到您的 Cargo.toml
。可执行文件构建可以在 https://github.com/okaneco/simple_clustering/releases 中找到。
[dependencies.simple_clustering]
version = "0.2"
default-features = false
功能
- 使用 SNIC 和 SLIC 进行图像分割
- 查找分割区域的平均颜色
- 在分割边界周围绘制轮廓
- 命令行工具,用于从 JPG/PNG 输入文件生成分割图像
示例
除非另有说明,否则图像来自 加州大学伯克利分校图像分割数据集和基准测试。
SNIC 和 SLIC
可以使用 -a
选项选择算法。默认情况下,算法为 snic
。
simple_clustering -i 295087.jpg
simple_clustering -i 295087.jpg -a slic
使用 -k
或 -n
指定要找到的超像素数量。由于种子或强制超像素标签的连通性的特性,结果超像素数量可能略多于或少于此值。默认设置为 1000
。
simple_clustering -i 295087.jpg -k 200
使用 -m
选项可以控制每个超级像素的“紧凑性”。数值范围从 1
到 20
,在统一的超级像素大小和更好的边界符合度之间权衡。数值 1
将导致更大的、更不均匀的超级像素,而数值 20
将导致更紧凑、更均匀的超级像素。默认情况下,-m
被设置为 10
。
simple_clustering -i 55067.jpg -m 1
simple_clustering -i 55067.jpg -m 20
左图:-m 1
。右图:-m 20
。
轮廓
段颜色默认为黑色,#000
,但可以使用 --segment-color
选项指定一个3或6位十六进制RGB颜色。以下示例将颜色设置为灰色,#777
。为了将段轮廓保存到原始图像数据上,添加 --no-mean
标志以跳过生成平均颜色图像。
simple_clustering -i 113016.jpg -k 200 --segments --segment-color 777
simple_clustering -i 113016.jpg -k 200 --segments --no-mean
左图:带有灰色轮廓的分割图像。右图:在原始图像数据上绘制的超级像素区域。
参考文献
Achanta, R.,Shaji, A.,Smith, K.,Lucchi, A.,Fua, P.,& Süsstrunk, S. SLIC Superpixels。EPFL技术报告编号149300,2010年6月。
Achanta, R.,Shaji, A.,Smith, K.,Lucchi, A.,Fua, P.,& Süsstrunk, S. 与最先进超级像素方法的比较。IEEE Transactions on Pattern Analysis and Machine Intelligence,第34卷,第11期,第2274-2282页,2012年5月。
Achanta, R.,& Süsstrunk, S. 使用简单非迭代聚类进行超级像素和多边形。IEEE计算机视觉与模式识别会议论文集,2017年。
Martin, D.,Fowlkes, C.,Tal, D.,& Malik, J. 人类分割自然图像数据库及其在评估分割算法和测量生态统计中的应用。第8届国际计算机视觉会议论文集,第2卷,第416-423页,2001年7月。
许可证
此crate许可为以下之一
任选其一。
除非您明确声明,否则根据Apache-2.0许可证定义的,您提交给作品以包含在内的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~1.9-5MB
~63K SLoC