本文最后更新于:2024年5月7日 下午
超像素是把一张图片中具有相似特征的像素进行聚类,形成一个更具有代表性的大“像素”。 本文记录Opencv 实现方法。
简介
-
超像素是把一张图片中具有相似特征的像素进行聚类,形成一个更具有代表性的大“像素”。这个新的像素可以作为其他图像处理算法的基本单位,可以减低图像的维度和异常像素点。目前常用的超像素分割算法有SLIC、SEEDS和LSC。下面来说说这些算法基于Opencv的Python实现。
-
测试图像:
SLIC
- 算法具体原理可参考博客:SuperPixel 超像素分割 SLIC 算法
- 利用opencv中ximgproc类下的子类SuperpixelSLIC实现。
- python调用方法:
1 |
|
-
其中各个参数意义如下:
参数 含义 image 输入图像 algorithm 选择要使用的算法变体:SLIC、SLICO(默认)和MSLIC三种可选 region_size 平均超像素大小,默认10 ruler 超像素平滑度,默认10 -
代码示例
1 |
|
SEEDS
- 利用opencv中ximgproc类下的子类 createSuperpixelSEEDS()实现。
- python调用方法:
1 |
|
-
其中各个参数意义如下:
参数 含义 image_width 输入图像宽度 image_height 输入图像高度 image_channels 输入图像通道数 num_superpixels 期望超像素数目 num_levels 块级别数,值越高,分段越准确,形状越平滑,但需要更多的内存和CPU时间。 histogram_bins 直方图bins数,默认5 double_step 如果为true,则每个块级别重复两次以提高准确性默认false。 -
python具体实现如下:
1 |
|
LSC
- 利用opencv中ximgproc类下的子类 createSuperpixelLSC() 实现。
- python调用方法:
1 |
|
-
其中各个参数意义如下:
参数 含义 image 输入图像 region_size 平均超像素大小,默认10 ratio 超像素紧凑度因子,默认0.075 -
python具体实现相似,如下所示:
1 |
|
参考资料
- https://blog.csdn.net/qq_40268412/article/details/103915197
- https://docs.opencv.org/3.4/df/d6c/group__ximgproc__superpixel.html
文章链接:
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-superpixel/super-pixel/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
Opencv 图像超像素分割(SLIC、SEEDS、LSC)
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-superpixel/super-pixel/