#include <opencv2/hfs.hpp>
|
| static Ptr< 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) |
| | : 创建一个 hfs 对象
|
| |
| template<typename _Tp > |
| static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
| | 从文件中加载算法。
|
| |
| template<typename _Tp > |
| static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
| | 从字符串中加载算法。
|
| |
| template<typename _Tp > |
| static Ptr< _Tp > | read (const FileNode &fn) |
| | 从文件节点中读取算法。
|
| |
◆ 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\)。如果此值较大,则分割结果倾向于具有更多局部一致性。
此类的文档从以下文件生成