SLIC超像素分割详解(二)
网站http://ivrl.epfl.ch/research/superpixels给出了SLIC的代码。对于其中C++代码的几个关键函数实现细节解释一下,方便初学者理解。具体如下:
1、设定期望分割的超像素数目,打开图片。将彩色RGB图片转换为LAB空间及x、y像素坐标共5维空间。
2、DetectLabEdges。求图片中所有点的梯度=dx+dy.其中
dx=(l(x-1)-l(x+1))*(l(x-1)-l(x+1))+(a(x-1)-a(x+1))*(a(x-1)-a(x+1))+(b(x-1)-b(x+1))*(b(x-1)-b(x+1));
dy=(l(y-1)-l(y+1))*(l(y-1)-l(y+1))+(a(y-1)-a(y+1))*(a(y-1)-a(y+1))+(b(y-1)-b(y+1))*(b(y-1)-b(y+1));
3、GetLABXYSeeds_ForGivenK。给定了要分割的超像

本文深入解析SLIC超像素分割算法的关键代码,包括:1) 将彩色图片转换为5维空间;2) 求图片梯度;3) 获取种子点并扰乱;4) 执行超像素分割;5) 保持超像素连通性。通过这些步骤,实现了SLIC超像素分割,最后展示分割结果。
最低0.47元/天 解锁文章
766

被折叠的 条评论
为什么被折叠?



