OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::hfs::HfsSegment 類參考抽象

#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) ->

:設定和獲取引數 minRegionSizeI。此引數用於上述第二階段。在 EGB 分割後,畫素少於此引數的區域將合併到其相鄰區域。

◆ setMinRegionSizeII()

virtual void cv::hfs::HfsSegment::setMinRegionSizeII ( int n)
純虛擬函式
Python
cv.hfs.HfsSegment.setMinRegionSizeII(n) ->

:設定和獲取引數 minRegionSizeII。此引數用於上述第三階段。其作用與 minRegionSizeI 相同。

◆ setNumSlicIter()

virtual void cv::hfs::HfsSegment::setNumSlicIter ( int n)
純虛擬函式
Python
cv.hfs.HfsSegment.setNumSlicIter(n) ->

:設定和獲取引數 numSlicIter。此引數用於第一階段。它描述了執行 SLIC 時要執行的迭代次數。

◆ setSegEgbThresholdI()

virtual void cv::hfs::HfsSegment::setSegEgbThresholdI ( float c)
純虛擬函式
Python
cv.hfs.HfsSegment.setSegEgbThresholdI(c) ->

:設定和獲取引數 segEgbThresholdI。此引數用於上述第二階段。它是應用 EGB 演算法時合併相鄰節點時用於閾值化邊緣權重的常數。如果此值較大,分割結果傾向於保留更多區域,反之亦然。

◆ setSegEgbThresholdII()

virtual void cv::hfs::HfsSegment::setSegEgbThresholdII ( float c)
純虛擬函式
Python
cv.hfs.HfsSegment.setSegEgbThresholdII(c) ->

:設定和獲取引數 segEgbThresholdII。此引數用於上述第三階段。其作用與 segEgbThresholdI 相同。如果此值較大,分割結果傾向於保留更多區域,反之亦然。

◆ setSlicSpixelSize()

virtual void cv::hfs::HfsSegment::setSlicSpixelSize ( int n)
純虛擬函式
Python
cv.hfs.HfsSegment.setSlicSpixelSize(n) ->

:設定和獲取引數 slicSpixelSize。此引數用於上述第一階段(SLIC 階段)。它描述了初始化 SLIC 時每個超畫素的大小。最初,每個超畫素大約有 \(slicSpixelSize \times slicSpixelSize\) 個畫素。

◆ setSpatialWeight()

virtual void cv::hfs::HfsSegment::setSpatialWeight ( float w)
純虛擬函式
Python
cv.hfs.HfsSegment.setSpatialWeight(w) ->

:設定和獲取引數 spatialWeight。此引數用於上述第一階段(SLIC 階段)。它描述了在計算每個畫素與其中心之間的距離時,位置所扮演角色的重要性。計算距離的確切公式是 \(colorDistance + spatialWeight \times spatialDistance\)。如果此值較大,分割結果傾向於具有更高的區域性一致性。


此類的文件是從以下檔案生成的