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

#include <opencv2/hfs.hpp>

cv::hfs::HfsSegment 的协作图

公共成员函数

virtual int getMinRegionSizeI ()=0
 
virtual int getMinRegionSizeII ()=0
 
virtual int getNumSlicIter ()=0
 
virtual float getSegEgbThresholdI ()=0
 
virtual float getSegEgbThresholdII ()=0
 
virtual int getSlicSpixelSize ()=0
 
virtual float getSpatialWeight ()=0
 
virtual Mat performSegmentCpu (InputArray src, bool ifDraw=true)=0
 使用 CPU 进行分割 此方法仅用于参考。强烈建议不要使用它。
 
virtual Mat performSegmentGpu (InputArray src, bool ifDraw=true)=0
 进行 GPU 分割
 
virtual void setMinRegionSizeI (int n)=0
 : 设置和获取参数 minRegionSizeI。此参数用于上述第二阶段。在 EGB 分割之后,像素数少于此参数的区域将合并到其相邻区域中。
 
virtual void setMinRegionSizeII (int n)=0
 : 设置和获取参数 minRegionSizeII。此参数用于上述第三阶段。它与 minRegionSizeI 的作用相同。
 
virtual void setNumSlicIter (int n)=0
 : 设置和获取参数 numSlicIter。此参数用于第一阶段。它描述了执行 SLIC 时要执行的迭代次数。
 
virtual void setSegEgbThresholdI (float c)=0
 : 设置和获取参数 segEgbThresholdI。此参数用于上述第二阶段。它是在应用 EGB 算法时合并相邻节点时,用于对边缘权重进行阈值处理的常数。如果此值较大,则分割结果倾向于保留更多区域,反之亦然。
 
virtual void setSegEgbThresholdII (float c)=0
 : 设置和获取参数 segEgbThresholdII。此参数用于上述第三阶段。它与 segEgbThresholdI 的作用相同。如果此值较大,则分割结果倾向于保留更多区域,反之亦然。
 
virtual void setSlicSpixelSize (int n)=0
 : 设置和获取参数 slicSpixelSize。此参数用于上述第一阶段(SLIC 阶段)。它描述了初始化 SLIC 时每个超像素的大小。每个超像素在开始时大约有 \(slicSpixelSize \times slicSpixelSize\) 个像素。
 
virtual void setSpatialWeight (float w)=0
 : 设置和获取参数 spatialWeight。此参数用于上述第一阶段(SLIC 阶段)。它描述了在计算每个像素与其中心的距离时,位置的作用有多重要。计算距离的精确公式为 \(colorDistance + spatialWeight \times spatialDistance\)。如果此值较大,则分割结果倾向于具有更多局部一致性。
 
- 从 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
 

静态公共成员函数

static Ptr< HfsSegmentcreate (int height, int width, float segEgbThresholdI=0.08f, int minRegionSizeI=100, float segEgbThresholdII=0.28f, int minRegionSizeII=200, float spatialWeight=0.6f, int slicSpixelSize=8, int numSlicIter=5)
 : 创建一个 hfs 对象
 
- 从 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
 

成员函数文档

◆ create()

static Ptr< HfsSegment > cv::hfs::HfsSegment::create ( int  height,
int  width,
float  segEgbThresholdI = 0.08f,
int  minRegionSizeI = 100,
float  segEgbThresholdII = 0.28f,
int  minRegionSizeII = 200,
float  spatialWeight = 0.6f,
int  slicSpixelSize = 8,
int  numSlicIter = 5 
)
static
Python
cv.hfs.HfsSegment.create(height, width[, segEgbThresholdI[, minRegionSizeI[, segEgbThresholdII[, minRegionSizeII[, spatialWeight[, slicSpixelSize[, numSlicIter]]]]]]]) -> retval
cv.hfs.HfsSegment_create(height, width[, segEgbThresholdI[, minRegionSizeI[, segEgbThresholdII[, minRegionSizeII[, spatialWeight[, slicSpixelSize[, numSlicIter]]]]]]]) -> retval

: 创建一个 hfs 对象

参数
height输入图像的高度
width输入图像的宽度
segEgbThresholdI参数 segEgbThresholdI
minRegionSizeI参数 minRegionSizeI
segEgbThresholdII参数 segEgbThresholdII
minRegionSizeII参数 minRegionSizeII
spatialWeight参数 spatialWeight
slicSpixelSize参数 slicSpixelSize
numSlicIter参数 numSlicIter

◆ getMinRegionSizeI()

virtual int cv::hfs::HfsSegment::getMinRegionSizeI ( )
纯虚函数
Python
cv.hfs.HfsSegment.getMinRegionSizeI() -> retval

◆ getMinRegionSizeII()

virtual int cv::hfs::HfsSegment::getMinRegionSizeII ( )
纯虚函数
Python
cv.hfs.HfsSegment.getMinRegionSizeII() -> retval

◆ getNumSlicIter()

virtual int cv::hfs::HfsSegment::getNumSlicIter ( )
纯虚函数
Python
cv.hfs.HfsSegment.getNumSlicIter() -> retval

◆ getSegEgbThresholdI()

virtual float cv::hfs::HfsSegment::getSegEgbThresholdI ( )
纯虚函数
Python
cv.hfs.HfsSegment.getSegEgbThresholdI() -> retval

◆ getSegEgbThresholdII()

virtual float cv::hfs::HfsSegment::getSegEgbThresholdII ( )
纯虚函数
Python
cv.hfs.HfsSegment.getSegEgbThresholdII() -> retval

◆ getSlicSpixelSize()

virtual int cv::hfs::HfsSegment::getSlicSpixelSize ( )
纯虚函数
Python
cv.hfs.HfsSegment.getSlicSpixelSize() -> retval

◆ getSpatialWeight()

virtual float cv::hfs::HfsSegment::getSpatialWeight ( )
纯虚函数
Python
cv.hfs.HfsSegment.getSpatialWeight() -> retval

◆ performSegmentCpu()

virtual Mat cv::hfs::HfsSegment::performSegmentCpu ( InputArray  src,
bool  ifDraw = true 
)
纯虚函数
Python
cv.hfs.HfsSegment.performSegmentCpu(src[, ifDraw]) -> retval

使用 CPU 进行分割 此方法仅用于参考。强烈建议不要使用它。

◆ performSegmentGpu()

virtual Mat cv::hfs::HfsSegment::performSegmentGpu ( InputArray  src,
bool  ifDraw = true 
)
纯虚函数
Python
cv.hfs.HfsSegment.performSegmentGpu(src[, ifDraw]) -> retval

进行 GPU 分割

参数
src输入图像
ifDraw是否在返回的 Mat 中绘制图像。如果此参数为 false,则返回的 Mat 的内容是索引矩阵,描述每个像素所属的区域。其数据类型为 CV_16U。如果此参数为 true,则返回的 Mat 是分割后的图片,每个区域的颜色是该区域中所有像素的平均颜色。其数据类型与输入图像相同。

◆ setMinRegionSizeI()

virtual void cv::hfs::HfsSegment::setMinRegionSizeI ( int  n)
纯虚函数
Python
cv.hfs.HfsSegment.setMinRegionSizeI(n) -> None

: 设置和获取参数 minRegionSizeI。此参数用于上述第二阶段。在 EGB 分割之后,像素数少于此参数的区域将合并到其相邻区域中。

◆ setMinRegionSizeII()

virtual void cv::hfs::HfsSegment::setMinRegionSizeII ( int  n)
纯虚函数
Python
cv.hfs.HfsSegment.setMinRegionSizeII(n) -> None

: 设置和获取参数 minRegionSizeII。此参数用于上述第三阶段。它与 minRegionSizeI 的作用相同。

◆ setNumSlicIter()

virtual void cv::hfs::HfsSegment::setNumSlicIter ( int  n)
纯虚函数
Python
cv.hfs.HfsSegment.setNumSlicIter(n) -> None

: 设置和获取参数 numSlicIter。此参数用于第一阶段。它描述了执行 SLIC 时要执行的迭代次数。

◆ setSegEgbThresholdI()

virtual void cv::hfs::HfsSegment::setSegEgbThresholdI ( float  c)
纯虚函数
Python
cv.hfs.HfsSegment.setSegEgbThresholdI(c) -> None

: 设置和获取参数 segEgbThresholdI。此参数用于上述第二阶段。它是在应用 EGB 算法时合并相邻节点时,用于对边缘权重进行阈值处理的常数。如果此值较大,则分割结果倾向于保留更多区域,反之亦然。

◆ setSegEgbThresholdII()

virtual void cv::hfs::HfsSegment::setSegEgbThresholdII ( float  c)
纯虚函数
Python
cv.hfs.HfsSegment.setSegEgbThresholdII(c) -> None

: 设置和获取参数 segEgbThresholdII。此参数用于上述第三阶段。它与 segEgbThresholdI 的作用相同。如果此值较大,则分割结果倾向于保留更多区域,反之亦然。

◆ setSlicSpixelSize()

virtual void cv::hfs::HfsSegment::setSlicSpixelSize ( int  n)
纯虚函数
Python
cv.hfs.HfsSegment.setSlicSpixelSize(n) -> None

: 设置和获取参数 slicSpixelSize。此参数用于上述第一阶段(SLIC 阶段)。它描述了初始化 SLIC 时每个超像素的大小。每个超像素在开始时大约有 \(slicSpixelSize \times slicSpixelSize\) 个像素。

◆ setSpatialWeight()

virtual void cv::hfs::HfsSegment::setSpatialWeight ( float  w)
纯虚函数
Python
cv.hfs.HfsSegment.setSpatialWeight(w) -> None

: 设置和获取参数 spatialWeight。此参数用于上述第一阶段(SLIC 阶段)。它描述了在计算每个像素与其中心的距离时,位置的作用有多重要。计算距离的精确公式为 \(colorDistance + spatialWeight \times spatialDistance\)。如果此值较大,则分割结果倾向于具有更多局部一致性。


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