![]() |
OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
|
類 | |
| 類 | cv::cuda::DisparityBilateralFilter |
| 使用聯合雙邊濾波最佳化視差圖的類。 : 更多... | |
| 類 | cv::cuda::StereoBeliefPropagation |
| 使用信念傳播演算法計算立體匹配的類。 : 更多... | |
| 類 | cv::cuda::StereoBM |
| 使用塊匹配演算法計算立體匹配(視差圖)的類。 : 更多... | |
| 類 | cv::cuda::StereoConstantSpaceBP |
| 使用常量空間信念傳播演算法計算立體匹配的類。 : 更多... | |
| 類 | cv::cuda::StereoSGM |
| 該類實現了改進的 H. Hirschmuller 演算法 [129]。限制和區別如下: 更多... | |
| Ptr< cuda::DisparityBilateralFilter > cv::cuda::createDisparityBilateralFilter | ( | int | ndisp=64, |
| int | radius=3, | ||
| int | iters=1 ) |
#include <opencv2/cudastereo.hpp>
建立 DisparityBilateralFilter 物件。
| ndisp | 視差的數量。 |
| radius | 濾波器半徑。 |
| iters | 迭代次數。 |
| Ptr< cuda::StereoBeliefPropagation > cv::cuda::createStereoBeliefPropagation | ( | int | ndisp=64, |
| int | iters=5, | ||
| int | levels=5, | ||
| int | msg_type=CV_32F ) |
#include <opencv2/cudastereo.hpp>
建立 StereoBeliefPropagation 物件。
| ndisp | 視差的數量。 |
| iters | 每個層級的BP迭代次數。 |
| levels | 層數。 |
| msg_type | 訊息型別。支援CV_16SC1 和 CV_32FC1 型別。 |
| Ptr< cuda::StereoBM > cv::cuda::createStereoBM | ( | int | numDisparities=64, |
| int | blockSize=19 ) |
#include <opencv2/cudastereo.hpp>
建立 StereoBM 物件。
| numDisparities | 視差搜尋範圍。對於每個畫素,演算法都會在0(預設最小視差)到numDisparities之間找到最佳視差。透過改變最小視差可以調整搜尋範圍。 |
| blockSize | 演算法比較塊的線性大小。大小應該是奇數(因為塊以當前畫素為中心)。較大的塊大小會產生更平滑但不太準確的視差圖。較小的塊大小會產生更詳細的視差圖,但演算法找到錯誤匹配的可能性更高。 |
| Ptr< cuda::StereoConstantSpaceBP > cv::cuda::createStereoConstantSpaceBP | ( | int | ndisp=128, |
| int | iters=8, | ||
| int | levels=4, | ||
| int | nr_plane=4, | ||
| int | msg_type=CV_32F ) |
#include <opencv2/cudastereo.hpp>
建立 StereoConstantSpaceBP 物件。
| ndisp | 視差的數量。 |
| iters | 每個層級的BP迭代次數。 |
| levels | 層數。 |
| nr_plane | 第一層級的視差平面數量。 |
| msg_type | 訊息型別。支援CV_16SC1 和 CV_32FC1 型別。 |
| Ptr< cuda::StereoSGM > cv::cuda::createStereoSGM | ( | int | minDisparity=0, |
| int | numDisparities=128, | ||
| int | P1=10, | ||
| int | P2=120, | ||
| int | uniquenessRatio=5, | ||
| int | mode=cv::cuda::StereoSGM::MODE_HH4 ) |
#include <opencv2/cudastereo.hpp>
建立 StereoSGM 物件。
| minDisparity | 最小可能的視差值。通常為0,但有時校正演算法會移動影像,因此需要相應地調整此引數。 |
| numDisparities | 最大視差減去最小視差。該值必須為64、128或256。 |
| P1 | 控制視差平滑度的第一個引數。此引數用於傾斜表面(非前平行)的情況。 |
| P2 | 控制視差平滑度的第二個引數。此引數用於“解決”深度不連續問題。 |
| uniquenessRatio | 最佳(最小)計算出的成本函式值應“勝過”第二個最佳值,以將找到的匹配視為正確的邊距(以百分比表示)。通常,5-15範圍內的值就足夠了。 |
| mode | 將其設定為StereoSGM::MODE_HH以執行全比例雙向動態程式設計演算法。它將消耗O(W * H * numDisparities)位元組。預設情況下,它設定為StereoSGM::MODE_HH4。 |
| void cv::cuda::drawColorDisp | ( | InputArray | src_disp, |
| OutputArray | dst_disp, | ||
| int | ndisp, | ||
| 流 (Stream) & | stream = Stream::Null() ) |
#include <opencv2/cudastereo.hpp>
對視差圖進行著色。
| src_disp | 輸入單通道8位無符號、16位有符號、32位有符號或32位浮點視差影像。如果使用16位有符號格式,則假定值為小數位數為零。 |
| dst_disp | 輸出視差影像。尺寸與src_disp相同。型別為BGRA格式的CV_8UC4(alpha=255)。 |
| ndisp | 視差的數量。 |
| 流 | Stream 用於非同步版本。 |
此函式透過首先將視差值從[0..ndisp)區間轉換為HSV顏色空間(其中不同的視差值對應不同的色調),然後將畫素轉換為RGB進行視覺化來繪製彩色視差圖。
|
內聯 |
| void cv::cuda::reprojectImageTo3D | ( | InputArray | disp, |
| OutputArray | xyzw, | ||
| InputArray | Q, | ||
| int | dst_cn=4, | ||
| 流 (Stream) & | stream = Stream::Null() ) |
#include <opencv2/cudastereo.hpp>
將視差影像重新投影到 3D 空間。
| disp | 輸入單通道8位無符號、16位有符號、32位有符號或32位浮點視差影像。如果使用16位有符號格式,則假定值為小數位數為零。 |
| xyzw | 尺寸與disp相同的輸出3通道或4通道浮點影像。xyzw(x,y)的每個元素包含由視差圖計算出的點(x,y)的3D座標(x,y,z)或(x,y,z,1)。 |
| Q | 可以透過stereoRectify獲得的\(4 \times 4\)透視變換矩陣。 |
| dst_cn | 輸出影像的通道數。可以是3或4。 |
| 流 | Stream 用於非同步版本。 |