当前位置:网站首页 > 技术博客 > 正文

超像素分割的技术难点



SLIC是一种基于网格化KMeans聚类的超像素分割算法,其计算复杂度为O(N),其中N为像素点个数。SLIC的原理比较简单精致,具体的原理我这里就不介绍了,推荐大家自己去读原始论文加深理解(但我以为看下面这个算法流程图就足够理解原理了)。SLIC的算法流程如下:

如所有其他聚类算法一样,SLIC不能保证连通性,所以需要后处理将旁生的连通域合并到邻近的主连通域上,但是论文中并未给出具体的后处理方法。我给出的方法是按照轮廓接触点个数最多原则合并连通域。由于每个聚类都有自己的“势力范围”,即每个标签覆盖的区域不会超过聚类时限定的范围(一般是2S*2S大小,边缘栅格的聚类例外),所以合并处理时只需要在该范围内操作即可。

 下面给出本人实现的SLIC算法程序(控制色域与空域权重比例的系数wDs应设为函数形参,这里就不改了。注意!迭代中限定聚类的栅格是不变的!!!):

 
  

脚本文件:

 
  

测试图像:

栅格划分结果:

聚类过程:

 聚类最终结果:

连通域合并后的结果:

原图+轮廓线:

 

具体的我就不解释了,自觉程序写得还是很有条理的,读者自己跟踪程序运行进行理解吧。 

 

 

 

 

 

 

版权声明


相关文章:

  • java匿名内部类和lambda表达式2025-07-01 21:01:06
  • 前端上传文件流2025-07-01 21:01:06
  • 彻底关闭137端口2025-07-01 21:01:06
  • 原生js有用吗2025-07-01 21:01:06
  • a记录和cname可以共存吗2025-07-01 21:01:06
  • sqlserver char和varchar2025-07-01 21:01:06
  • jvm查看工具2025-07-01 21:01:06
  • 班智达藏文输入法说明2025-07-01 21:01:06
  • mysql分区表是什么意思2025-07-01 21:01:06
  • jmap命令详解2025-07-01 21:01:06