OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::ximgproc::SuperpixelLSC 類參考abstract

實現 LSC (線性譜聚類) 超畫素演算法的類,該演算法在 [163] 中描述。 更多...

#include <opencv2/ximgproc/lsc.hpp>

cv::ximgproc::SuperpixelLSC 的協作圖

公共成員函式

virtual void enforceLabelConnectivity (int min_element_size=25)=0
 強制標籤連線性。
 
virtual void getLabelContourMask (OutputArray image, bool thick_line=true) const =0
 返回儲存在 SuperpixelLSC 物件中的超畫素分割的掩碼。
 
virtual void getLabels (OutputArray labels_out) const =0
 返回影像的分割標籤。
 
virtual int getNumberOfSuperpixels () const =0
 計算給定的分割中實際的超畫素數量,該分割已計算並存儲在 SuperpixelLSC 物件中。
 
virtual void iterate (int num_iterations=10)=0
 使用 SuperpixelLSC 物件中初始化的引數,計算給定影像上的超畫素分割。
 
- 從 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
 

詳細描述

實現 LSC (線性譜聚類) 超畫素演算法的類,該演算法在 [163] 中描述。

LSC (線性譜聚類) 產生緊湊且均勻的超畫素,計算成本低。 基本上,基於相似性度量的超畫素分割的歸一化割集公式被採用,該度量測量影像畫素之間的顏色相似性和空間接近度。 LSC 具有線性計算複雜性和高記憶體效率,並且能夠保留影像的全域性屬性

成員函式文件

◆ enforceLabelConnectivity()

virtual void cv::ximgproc::SuperpixelLSC::enforceLabelConnectivity ( int min_element_size = 25)
純虛擬函式
Python
cv.ximgproc.SuperpixelLSC.enforceLabelConnectivity([, min_element_size]) ->

強制標籤連線性。

引數
min_element_size最小元素大小(百分比),應將其吸收到更大的超畫素中。 給定結果的平均超畫素大小,有效值應在 0-100 範圍內,25 表示應吸收小於四分之一大小的超畫素,這是預設值。

該函式合併太小的元件,並將先前找到的相鄰標籤分配給該元件。 呼叫此函式可能會更改最終的超畫素數量。

◆ getLabelContourMask()

virtual void cv::ximgproc::SuperpixelLSC::getLabelContourMask ( OutputArray image,
bool thick_line = true ) const
純虛擬函式
Python
cv.ximgproc.SuperpixelLSC.getLabelContourMask([, image[, thick_line]]) -> image

返回儲存在 SuperpixelLSC 物件中的超畫素分割的掩碼。

引數
image返回:CV_8U1 影像掩碼,其中 -1 表示畫素是超畫素邊界,0 表示其他情況。
thick_line如果為 false,則邊框僅為一個畫素寬,否則,邊框上的所有畫素都被遮蔽。

該函式返回超畫素分割的邊界。

◆ getLabels()

virtual void cv::ximgproc::SuperpixelLSC::getLabels ( OutputArray labels_out) const
純虛擬函式
Python
cv.ximgproc.SuperpixelLSC.getLabels([, labels_out]) -> labels_out

返回影像的分割標籤。

每個標籤代表一個超畫素,並且每個畫素被分配給一個超畫素標籤。

引數
labels_out返回:一個 CV_32SC1 整數陣列,包含超畫素分割的標籤。 標籤的範圍是 [0, getNumberOfSuperpixels()]。

該函式返回一個影像,其中包含超畫素分割的標籤。 標籤的範圍是 [0, getNumberOfSuperpixels()]。

◆ getNumberOfSuperpixels()

virtual int cv::ximgproc::SuperpixelLSC::getNumberOfSuperpixels ( ) const
純虛擬函式
Python
cv.ximgproc.SuperpixelLSC.getNumberOfSuperpixels() -> retval

計算給定的分割中實際的超畫素數量,該分割已計算並存儲在 SuperpixelLSC 物件中。

◆ iterate()

virtual void cv::ximgproc::SuperpixelLSC::iterate ( int num_iterations = 10)
純虛擬函式
Python
cv.ximgproc.SuperpixelLSC.iterate([, num_iterations]) ->

使用 SuperpixelLSC 物件中初始化的引數,計算給定影像上的超畫素分割。

可以再次呼叫此函式,而無需使用 createSuperpixelLSC() 初始化演算法。 這節省了為演算法的所有結構分配記憶體的計算成本。

引數
num_iterations迭代次數。迭代次數越多,結果越好。

該函式使用使用函式 createSuperpixelLSC() 初始化的引數計算影像的超畫素分割。 該演算法從超畫素網格開始,然後透過建議更新邊緣邊界來細化邊界。


此類文件由以下檔案生成