SLIC算法

SLIC算法基础知识在介绍 SLIC 之前 先来介绍以下 Lab 颜色空间的介绍 Lab 色彩模型是由亮度 L 要素和与有关色彩的 a b 要素组成 L 的值由 0 黑色 到 100 白色 a 表示从洋红色至绿色的范围 a 为负值表示绿色而正值表示品红 b 表示从黄色至蓝色的范围 b 为负值表示蓝色而正值表示黄色 Lab 颜色空间的优点 1 不像 RGB 和 CMYK 色彩空间 Lab 颜色被设计来接近人类生理视觉 它致力于感知均匀性 它的 L 分量密切匹配人类亮度感知 因此可以被用来通过修改 a 和 b 分量的输出色阶来做精确的颜色平衡 或使用 L 分量来调

基础知识

在介绍SLIC之前,先来介绍以下Lab颜色空间的介绍。

Lab色彩模型是由亮度(L)要素和与有关色彩的a,b要素组成,L的值由0(黑色)到100(白色),a表示从洋红色至绿色的范围(a为负值表示绿色而正值表示品红),b表示从黄色至蓝色的范围(b为负值表示蓝色而正值表示黄色)。

Lab颜色空间的优点:
1)不像RGB和CMYK色彩空间,Lab颜色被设计来接近人类生理视觉。它致力于感知均匀性,它的L分量密切匹配人类亮度感知。因此可以被用来通过修改a和b分量的输出色阶来做精确的颜色平衡,或使用L分量来调整亮度对比。这些变换在RGB或CMYK种是困难的或不可能的。
2)色域宽广。它不仅包含了RGB、CMYK的所有色域,还能表现他们不能表现得色彩。人的肉眼能感知的色彩,都能通过Lab模型表现出来。另外,Lab色彩模型的绝妙之处还在于它弥补了RGB色彩模型色彩分布不均的不足,因为RGB模型在蓝色到绿色之间的过渡色彩过多,而在绿色到红色之间又缺少黄色和其他色彩。
3)Lab空间内的很多“颜色”超出了人类视觉的视域,因此纯粹是假想的;这些“颜色”不能在物理世界中再生。通过颜色管理软件,比如内置于图象编辑应用程序中的那些软件,可以选择最接近的色域内近似,在处理中变换亮度、彩度甚至色相。Dan Margulis称,在图象操作的多个步骤之间使用假想色是很有用的。


算法思想

SLIC算法时simple linear iterative cluster的简称,主要是将图像从RGB颜色空间转换到CIE-Lab颜色空间,对应每个像素的(L,a,b)颜色值和(x,y)坐标组成一个5维向量V[I,a,b,x,y],两个像素的相似性即可由他们的向量距离来度量,距离越大,相似性越小。

该算法与K-means聚类算法思路类似,首先生成K个种子点,然后在每个种子点的周围空间里搜索距离该种子点最近的若干像素,将他们归为与该种子点一类,直到所有像素点都归类完毕。然后计算这K个超像素里所有像素点的平均向量值,重新得到K个聚类中心,然后再以这K个中心去搜索其周围与其最为相似的若干像素,所有像素都归类完重新得到K个超像素,更新聚类中心,在此迭代,如此反复直到收敛。

具体算法步骤

在这里插入图片描述
1.初始化聚类中心:按照预先设定的超像素个数,在图像内均匀的分配聚类中心。如果图像有N个像素点,预分割为K个相同尺寸的超像素,那么每个超像素的大小为N/K,则相邻聚类中心的距离(步长)近似为 S = sqrt(N/K);
2.在聚类中心的n×n邻域内重新选择聚类中心(一般n取3)。具体方法为:计算该邻域内所有像素点的梯度值,将聚类中心移动到该邻域内梯度最小的地方。这样做的目的是为了避免中心点落在梯度较大1的轮廓边界上,以免影响后续聚类效果;
3.在每个聚类中心周围的邻域内为每个像素点分配类标签(即属于哪个聚类中心)。(期望的超像素尺寸为S×S,但其搜索范围为2S×2S);
4.计算搜索点到聚类中心的距离度量(包括颜色距离和空间距离);
在这里插入图片描述
其中,d c c c代表颜色距离,d s s s代表空间距离,N s s s是类内最大空间距离,定义N s s s=sqrt(N/K),适用于每个聚类,最大颜色距离N c c c随图片不同而不同,也随聚类不同而不同,所以一般取一个固定常数(取值范围[1-40],一般取10)代替。最终的距离测度D‘如下:
在这里插入图片描述
由于每个像素点都会被多个种子点搜索到,所以每个像素点都会有一个与周围种子点的距离,取最小值对应的种子点作为该像素点的聚类中心。
5.直到每个像素点聚类中心不再发生变化停止迭代(实践发现10次迭代绝大部分图片都可以得到较理想效果);
6.增强连通性:经过上述迭代优化可能会出现出现多连通、超像素尺寸过小,单个超像素被切割为多个不连续超像素等等问题,而这些情况可以通过增强连通性来解决。主要思路在于:新建一张标记表,表内元素均为-1,按照“Z”型走向(从左到右、从上到下顺序)将不连续的超像素、尺寸过小超像素重新分配给临近的超像素,遍历果的像素点分配给相应的标签,直到所有点遍历完毕为止。









SLIC主要优点

1)生成的超像素如同细胞一般紧凑整齐,邻域特征比较容易表达。这样基于像素的方法可以比较容易的改造为基于超像素的方法。
2)不仅可以分割彩色图,也可以兼容分割灰度图。
3)需要设置的参数非常少,默认情况下只需要设置一个预分割的超像素的数量。
4)相比其他的超像素分割方法,SLIC在运行速度、生成超像素的紧凑度、轮廓保持方面都比较理想。


以下是论文中的效果图
在这里插入图片描述

自己实现的效果图:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215114.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:40
下一篇 2026年3月18日 下午2:40


相关推荐

  • 手把手教你制作机房三维场景(3D效果图)

    手把手教你制作机房三维场景(3D效果图)前言:随着信息技术的不断发展,大量数据中心机房的建设、监控软件已经成为机房管理者的重要武器,特别是机房效果图这一块,从简易的CAD到现在的3D效果图,从静态到三维动态的改进,机房监控软件基本上可以说是从无到有的一个过程,下面本文跟大家分享机房高大上的数据中心三维可视化管理软件的三维场景制作过程(俗称:3D效果图的制作过程)。以前的机房效果图现在的机房3D效果图数据中心可三维可视化管理软件,通过对现

    2022年6月2日
    152
  • 学习 node.js 第八天:Socket 通讯「建议收藏」

    学习 node.js 第八天:Socket 通讯「建议收藏」一般来讲,HTTP是基于文本的“单向”通讯机制。这里所谓的“单向”,乃相对于“双向”而言,因为HTTP服务器只需根据请求返还恰当的HTML给客户端即可,不涉及客户端向服务端的通讯。这种单向的机制比较简单,对网络质量要求也不高。而更多的场景则是需要可靠、稳定的端到端连接。一般这种服务是实时的、有态的而且是长连接,长连接则暗示两段须达致相向通讯的能力,也就说是服务端客户端两者间能够实时地相互间通信。毫无疑问,能够实时通信的服务器正是我们对服务器基本要求之一。区别于HTTP服务器以HTTP为通讯

    2022年6月11日
    54
  • 模板制作AI助手(Beta)

    模板制作AI助手(Beta)

    2026年3月12日
    3
  • windows 怎样关闭redis

    windows 怎样关闭redis

    2021年10月16日
    205
  • 2019-10-30-C#-dotnet-core-局域网组播方法「建议收藏」

    2019-10-30-C#-dotnet-core-局域网组播方法「建议收藏」titleauthordateCreateTimecategoriesC#dotnetcore局域网组播方法lindexi2019-10-309:0:48+08002019-10-2912:2:46+0800dotnetC#我在微软官网找到了用…

    2022年6月30日
    25
  • 《数据库系统概论》第五版 +学习笔记总目录

    《数据库系统概论》第五版 +学习笔记总目录文章目录前言第1章绪论第2章关系数据库第3章关系数据库标准语言SQL第4章数据库安全性第5章数据库完整性第6章关系数据理论前言本篇文章学习书籍:《数据库系统概论》第5版王珊萨师煊编著学习软件:NavicatPremium15&&SSMS采用数据库:SQLSever说明:虽然数据库是SQLSever有些书上的语句执行不了,貌似书采用的是Oracle数据库的SQL,不过没关系,初学我们最重要的是掌握其思想,很多思想和方法语句在

    2022年8月20日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号