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

包含 Quasi Dense Stereo 計算所需方法的類。 更多...

#include <opencv2/stereo/quasi_dense_stereo.hpp>

cv::stereo::QuasiDenseStereo 的協作圖

公共成員函式

virtual ~QuasiDenseStereo ()=0
 解構函式 用於釋放此類中矩陣和向量分配的所有記憶體的方法。
 
virtual void getDenseMatches (std::vector< MatchQuasiDense > &denseMatches)=0
 獲取密集對應點。
 
virtual cv::Mat getDisparity ()=0
 基於在“process”方法中找到的對應關係計算並返回視差圖。
 
virtual cv::Point2f getMatch (const int x, const int y)=0
 指定左影像中的畫素座標,並獲取其在右影像中的對應位置。
 
virtual void getSparseMatches (std::vector< MatchQuasiDense > &sMatches)=0
 獲取稀疏對應點。
 
virtual int loadParameters (cv::String filepath)=0
 載入包含類配置引數的檔案。
 
virtual void process (const cv::Mat &imgLeft, const cv::Mat &imgRight)=0
 演算法的主要過程。此方法計算稀疏種子,然後對其進行密集化。
 
virtual int saveParameters (cv::String filepath)=0
 儲存包含該類當前設定的所有配置引數的檔案。
 

靜態公共成員函式

static cv::Ptr< QuasiDenseStereocreate (cv::Size monoImgSize, cv::String paramFilepath=cv::String())
 

公共屬性

PropagationParameters Param
 

詳細描述

包含 Quasi Dense Stereo 計算所需方法的類。

此模組包含執行準密集立體匹配的程式碼。該方法最初從基於立體影像對上的特徵匹配的稀疏 3D 重建開始,隨後將結構傳播到相鄰影像區域。為了獲得初始種子對應關係,該演算法在立體影像對的左圖中定位 Shi 和 Tomashi 特徵,然後使用金字塔 Lucas-Kanade 在右圖中跟蹤它們。為了密集化稀疏對應關係,該演算法在每個種子對周圍的小塊中計算零均值歸一化互相關 (ZNCC),並將其用作每個匹配的質量指標。在此程式碼中,我們引入了一種自定義結構來儲存對應關係的位置和 ZNCC 值,稱為“Match”。種子匹配儲存在根據其 ZNCC 值排序的優先順序佇列中,從而可以輕鬆獲得最佳質量的匹配。該演算法彈出匹配項並使用它們來提取它們周圍的新匹配項。這是透過考慮每個種子周圍的一個小鄰域並檢索高於某個紋理閾值且先前未計算的對應關係來完成的。新的匹配項儲存在種子優先順序佇列中,並用作種子。當無法檢索到其他匹配項時,傳播過程結束。

另請參見
此程式碼代表 [256] 中介紹的工作。如果此程式碼對您的工作有用,請引用 [256]

此外,原始增長方案的想法在 [162] 中描述

建構函式 & 解構函式文件

◆ ~QuasiDenseStereo()

virtual cv::stereo::QuasiDenseStereo::~QuasiDenseStereo ( )
純虛擬函式

解構函式 用於釋放此類中矩陣和向量分配的所有記憶體的方法。

成員函式文件

◆ create()

static cv::Ptr< QuasiDenseStereo > cv::stereo::QuasiDenseStereo::create ( cv::Size monoImgSize,
cv::String paramFilepath = cv::String() )
static
Python
cv.stereo.QuasiDenseStereo.create(monoImgSize[, paramFilepath]) -> retval
cv.stereo.QuasiDenseStereo_create(monoImgSize[, paramFilepath]) -> retval

◆ getDenseMatches()

virtual void cv::stereo::QuasiDenseStereo::getDenseMatches ( std::vector< MatchQuasiDense > & denseMatches)
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.getDenseMatches() -> denseMatches

獲取密集對應點。

引數
[輸出]denseMatches包含所有密集匹配項的向量。
注意
該方法清除 denseMatches 向量。
sMatches 向量中返回的 Match 元素不使用 corr 成員。

◆ getDisparity()

virtual cv::Mat cv::stereo::QuasiDenseStereo::getDisparity ( )
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.getDisparity() -> retval

基於在“process”方法中找到的對應關係計算並返回視差圖。

注意
預設級別為 50
返回
cv::Mat 包含灰度視差影像。
另請參見
computeDisparity
quantizeDisparity

◆ getMatch()

virtual cv::Point2f cv::stereo::QuasiDenseStereo::getMatch ( const int x,
const int y )
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.getMatch(x, y) -> retval

指定左影像中的畫素座標,並獲取其在右影像中的對應位置。

引數
[輸入]x左影像通道中的 x 畫素座標。
[輸入]y左影像通道中的 y 畫素座標。
返回值
cv::Point(x,y)右影像中對應畫素的位置。
cv::Point(0,0)(NO_MATCH) 如果在右圖中找不到左圖中指定畫素位置的匹配項。
注意
此方法應始終在 process 之後呼叫,否則匹配將不正確。

◆ getSparseMatches()

virtual void cv::stereo::QuasiDenseStereo::getSparseMatches ( std::vector< MatchQuasiDense > & sMatches)
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.getSparseMatches() -> sMatches

獲取稀疏對應點。

引數
[輸出]sMatches包含所有稀疏對應關係的向量。
注意
該方法清除 sMatches 向量。
sMatches 向量中返回的 Match 元素不使用 corr 成員。

◆ loadParameters()

virtual int cv::stereo::QuasiDenseStereo::loadParameters ( cv::String filepath)
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.loadParameters(filepath) -> retval

載入包含類配置引數的檔案。

引數
[輸入]filepath包含配置引數的 .YAML 檔案的位置。
注意
預設值是一個空字串,在這種情況下,將載入預設引數。
返回值
1如果路徑不為空,並且程式已成功載入引數。
0如果路徑為空,並且程式已載入預設引數。
-1如果檔案位置無效,或者程式無法開啟檔案並從 defaults.hpp 載入預設引數。
注意
該方法在建構函式中自動呼叫並配置類。
載入不同的引數將對輸出產生影響。這對於影片處理中的調整很有用。
另請參見
loadParameters

◆ process()

virtual void cv::stereo::QuasiDenseStereo::process ( const cv::Mat & imgLeft,
const cv::Mat & imgRight )
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.process(imgLeft, imgRight) ->

演算法的主要過程。此方法計算稀疏種子,然後對其進行密集化。

最初,輸入影像被轉換為灰度,然後呼叫 sparseMatching 方法以獲得稀疏立體。最後,呼叫 quasiDenseMatching 以密集化相應的點。

引數
[輸入]imgLeft立體影像對的左通道。
[輸入]imgRight立體影像對的右通道。
注意
如果輸入影像是彩色的,則該方法假定為 BGR 並將它們轉換為灰度。
另請參見
sparseMatching
quasiDenseMatching

◆ saveParameters()

virtual int cv::stereo::QuasiDenseStereo::saveParameters ( cv::String filepath)
純虛擬函式
Python
cv.stereo.QuasiDenseStereo.saveParameters(filepath) -> retval

儲存包含該類當前設定的所有配置引數的檔案。

引數
[輸入]filepath用於儲存引數檔案的位置。
注意
呼叫此方法時不帶引數會將類引數儲存到根專案資料夾中名為“qds_parameters.yaml”的檔案中。
此方法可用於生成用於調整類的模板檔案。
另請參見
loadParameters

成員資料文件

◆ Param

PropagationParameters cv::stereo::QuasiDenseStereo::Param

此類文件由以下檔案生成