OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配项
公共成员函数 | 所有成员列表
cv::ximgproc::ScanSegment 类参考abstract

实现 Loke SC 等人提出的 F-DBSCAN(使用并行化 DBSCAN 算法的加速超像素图像分割)超像素算法的类。 [170] 了解原始论文。 更多...

#include <opencv2/ximgproc/scansegment.hpp>

cv::ximgproc::ScanSegment 的协作图

公共成员函数

virtual ~ScanSegment ()
 
virtual void getLabelContourMask (OutputArray image, bool thick_line=false)=0
 返回存储在 ScanSegment 对象中的超像素分割掩码。
 
virtual void getLabels (OutputArray labels_out)=0
 返回图像的分割标签。
 
virtual int getNumberOfSuperpixels ()=0
 返回使用 iterate 处理的最后一个图像的实际超像素分割。
 
virtual void iterate (InputArray img)=0
 使用 ScanSegment 对象中初始化的参数计算给定图像的超像素分割。
 
- 从 cv::Algorithm 继承的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如在最开始或读取失败后),则返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

其他继承的成员

- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 
- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细说明

实现 Loke SC 等人提出的 F-DBSCAN(使用并行化 DBSCAN 算法的加速超像素图像分割)超像素算法的类。 [170] 了解原始论文。

该算法使用并行化 DBSCAN 聚类搜索,该搜索对噪声具有抵抗力,在分割质量方面具有竞争力,并且比现有的超像素分割方法更快。在伯克利分割数据集上测试时,平均处理速度为 175 帧/秒,边界召回率为 0.797,可实现的分割精度为 0.944。计算复杂度为二次 O(n2),更适合较小的图像,但仍然可以比 OpenCV 中的 SEEDS 算法更快地处理 2MP 彩色图像。当处理线程数固定时,输出是确定的,并且需要源图像以 Lab 颜色格式表示。

构造函数和析构函数文档

◆ ~ScanSegment()

virtual cv::ximgproc::ScanSegment::~ScanSegment ( )
virtual

成员函数文档

◆ getLabelContourMask()

virtual void cv::ximgproc::ScanSegment::getLabelContourMask ( OutputArray  image,
bool  thick_line = false 
)
纯虚函数
Python
cv.ximgproc.ScanSegment.getLabelContourMask([, image[, thick_line]]) -> image

返回存储在 ScanSegment 对象中的超像素分割掩码。

该函数返回超像素分割的边界。

参数
image返回值:CV_8UC1 图像掩码,其中 -1 表示像素是超像素边界,否则为 0。
thick_line如果为 false,则边界仅为一个像素宽,否则所有边界处的像素都被掩码。

◆ getLabels()

virtual void cv::ximgproc::ScanSegment::getLabels ( OutputArray  labels_out)
纯虚函数
Python
cv.ximgproc.ScanSegment.getLabels([, labels_out]) -> labels_out

返回图像的分割标签。

每个标签代表一个超像素,每个像素都被分配给一个超像素标签。

参数
labels_out返回值:包含超像素分割标签的 CV_32UC1 整数数组。标签在 [0, getNumberOfSuperpixels()] 范围内。

◆ getNumberOfSuperpixels()

virtual int cv::ximgproc::ScanSegment::getNumberOfSuperpixels ( )
纯虚函数
Python
cv.ximgproc.ScanSegment.getNumberOfSuperpixels() -> retval

返回使用 iterate 处理的最后一个图像的实际超像素分割。

如果尚未处理任何图像,则返回零。

◆ iterate()

virtual void cv::ximgproc::ScanSegment::iterate ( InputArray  img)
纯虚函数
Python
cv.ximgproc.ScanSegment.iterate(img) -> None

使用 ScanSegment 对象中初始化的参数计算给定图像的超像素分割。

此函数可以再次调用以处理其他图像,而无需使用 createScanSegment() 初始化算法。这节省了为算法的所有结构分配内存的计算成本。

参数
img输入图像。支持的格式:CV_8UC3。图像大小必须与使用 createScanSegment() 函数初始化的图像大小匹配。它必须是 Lab 颜色空间。

此类的文档是从以下文件生成的