OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
正在載入...
正在搜尋...
未找到匹配項
RGB-深度處理

詳細說明

ICP 點到平面里程計演算法

類  cv::linemod::ColorGradient
 Modality,從彩色影像計算量化梯度方向。 更多...
 
類  cv::rgbd::DepthCleaner
 
類  cv::linemod::DepthNormal
 Modality,從密集深度圖計算量化表面法線。 更多...
 
類  cv::linemod::Detector
 使用 LINE 模板匹配演算法和任意模態集合的物件檢測器。 更多...
 
類  cv::rgbd::FastICPOdometry
 
結構體  cv::linemod::Feature
 由位置和標籤描述的判別特徵。 更多...
 
類  cv::rgbd::ICPOdometry
 
結構體  cv::linemod::Match
 表示成功的模板匹配。 更多...
 
類  cv::linemod::Modality
 用於插入 LINE 模板匹配表示的模態的介面。 更多...
 
類  cv::rgbd::Odometry
 
結構體  cv::rgbd::OdometryFrame
 
類  cv::linemod::QuantizedPyramid
 表示在影像金字塔上操作的模態。 更多...
 
結構體  cv::rgbd::RgbdFrame
 
類  cv::rgbd::RgbdICPOdometry
 
類  cv::rgbd::RgbdNormals
 
類  cv::rgbd::RgbdOdometry
 
類  cv::rgbd::RgbdPlane
 
結構體  cv::linemod::Template
 

函式

 cv::linemod::QuantizedPyramid::Candidate::Candidate (int x, int y, int label, float score)
 
 cv::linemod::Feature::Feature (int x, int y, int label)
 
 cv::linemod::Match::Match (int x, int y, float similarity, const String &class_id, int template_id)
 
void cv::linemod::colormap (const Mat &quantized, Mat &dst)
 用於檢視的量化影像的除錯函式。
 
void cv::rgbd::depthTo3d (InputArray depth, InputArray K, OutputArray points3d, InputArray mask=noArray())
 
void cv::rgbd::depthTo3dSparse (InputArray depth, InputArray in_K, InputArray in_points, OutputArray points3d)
 
void cv::linemod::drawFeatures (InputOutputArray img, const std::vector< Template > &templates, const Point2i &tl, int size=10)
 繪製 linemod 特徵的除錯函式。
 
Ptr< linemod::Detectorcv::linemod::getDefaultLINE ()
 使用彩色梯度和 LINE 演算法的檢測器工廠函式。
 
Ptr< linemod::Detectorcv::linemod::getDefaultLINEMOD ()
 使用彩色梯度和深度法線和 LINE-MOD 演算法的檢測器工廠函式。
 
bool cv::rgbd::isValidDepth (const double &depth)
 
bool cv::rgbd::isValidDepth (const float &depth)
 
bool cv::rgbd::isValidDepth (const int &depth)
 
bool cv::rgbd::isValidDepth (const short int &depth)
 
bool cv::rgbd::isValidDepth (const unsigned int &depth)
 
bool cv::rgbd::isValidDepth (const unsigned short int &depth)
 
void cv::rgbd::registerDepth (InputArray unregisteredCameraMatrix, InputArray registeredCameraMatrix, InputArray registeredDistCoeffs, InputArray Rt, InputArray unregisteredDepth, const Size &outputImagePlaneSize, OutputArray registeredDepth, bool depthDilation=false)
 
void cv::rgbd::rescaleDepth (InputArray in, int depth, OutputArray out, double depth_factor=1000.0)
 
void cv::rgbd::warpFrame (const Mat &image, const Mat &depth, const Mat &mask, const Mat &Rt, const Mat &cameraMatrix, const Mat &distCoeff, OutputArray warpedImage, OutputArray warpedDepth=noArray(), OutputArray warpedMask=noArray())
 

函式文件 (Function Documentation)

◆ Candidate()

cv::linemod::QuantizedPyramid::Candidate::Candidate ( int x,
int y,
int label,
float score )
內聯

◆ Feature()

cv::linemod::Feature::Feature ( int x,
int y,
int label )
內聯

◆ Match()

cv::linemod::Match::Match ( int x,
int y,
float similarity,
const String & class_id,
int template_id )
內聯

◆ colormap()

void cv::linemod::colormap ( const Mat & quantized,
Mat & dst )
Python
cv.linemod.colormap(quantized[, dst]) -> dst

#include <opencv2/rgbd/linemod.hpp>

用於檢視的量化影像的除錯函式。

◆ depthTo3d()

void cv::rgbd::depthTo3d ( InputArray depth,
InputArray K,
OutputArray points3d,
InputArray mask = noArray() )
Python
cv.rgbd.depthTo3d(depth, K[, points3d[, mask]]) -> points3d

#include <opencv2/rgbd/depth.hpp>

將深度影像轉換為一組有組織的 3D 點。座標系是 x 指向左,y 指向下,z 指離相機

引數
depth深度影像 (如果以 short int CV_U 給出,則假定其單位為毫米 (如 Microsoft Kinect),否則,如果以 CV_32F 或 CV_64F 給出,則假定其單位為米)
K校準矩陣
points3d生成的 3D 點。如果 depth 是 CV_32F 或 CV_64F,它們的深度與 depth 相同,如果 depth 是 CV_U,則它們的深度與 K 相同
mask要考慮的點(可以是空的)的掩碼

◆ depthTo3dSparse()

void cv::rgbd::depthTo3dSparse ( InputArray depth,
InputArray in_K,
InputArray in_points,
OutputArray points3d )
Python
cv.rgbd.depthTo3dSparse(depth, in_K, in_points[, points3d]) -> points3d

#include <opencv2/rgbd/depth.hpp>

引數
depth深度影像
in_K
in_pointsxy 座標列表
points3d生成的 3D 點

◆ drawFeatures()

void cv::linemod::drawFeatures ( InputOutputArray img,
const std::vector< Template > & templates,
const Point2i & tl,
int size = 10 )
Python
cv.linemod.drawFeatures(img, templates, tl[, size]) -> img

#include <opencv2/rgbd/linemod.hpp>

繪製 linemod 特徵的除錯函式。

引數
img
templates參見 Detector::addTemplate
tl模板 bounding box 左上角偏移量,參見 Detector::addTemplate
size (大小)標記大小,參見 cv::drawMarker

◆ getDefaultLINE()

Ptr< linemod::Detector > cv::linemod::getDefaultLINE ( )
Python
cv.linemod.getDefaultLINE() -> retval

#include <opencv2/rgbd/linemod.hpp>

使用彩色梯度和 LINE 演算法的檢測器工廠函式。

適用於 VGA 影像的預設引數設定。

◆ getDefaultLINEMOD()

Ptr< linemod::Detector > cv::linemod::getDefaultLINEMOD ( )
Python
cv.linemod.getDefaultLINEMOD() -> retval

#include <opencv2/rgbd/linemod.hpp>

使用彩色梯度和深度法線和 LINE-MOD 演算法的檢測器工廠函式。

適用於 VGA 影像的預設引數設定。

◆ isValidDepth() [1/6]

bool cv::rgbd::isValidDepth ( const double & depth)
內聯

#include <opencv2/rgbd/depth.hpp>

此函式的呼叫圖

◆ isValidDepth() [2/6]

bool cv::rgbd::isValidDepth ( const float & depth)
內聯

#include <opencv2/rgbd/depth.hpp>

檢查值是否為有效深度。對於 CV_16U 或 CV_16S,約定如果它是限制值則無效。對於 float/double,我們只檢查它是否為 NaN

引數
depth要檢查有效性的深度
此函式的呼叫圖

◆ isValidDepth() [3/6]

bool cv::rgbd::isValidDepth ( const int & depth)
內聯

◆ isValidDepth() [4/6]

bool cv::rgbd::isValidDepth ( const short int & depth)
內聯

◆ isValidDepth() [5/6]

bool cv::rgbd::isValidDepth ( const unsigned int & depth)
內聯

◆ isValidDepth() [6/6]

bool cv::rgbd::isValidDepth ( const unsigned short int & depth)
內聯

◆ registerDepth()

void cv::rgbd::registerDepth ( InputArray unregisteredCameraMatrix,
InputArray registeredCameraMatrix,
InputArray registeredDistCoeffs,
InputArray Rt,
InputArray unregisteredDepth,
const Size & outputImagePlaneSize,
OutputArray registeredDepth,
bool depthDilation = false )
Python
cv.rgbd.registerDepth(unregisteredCameraMatrix, registeredCameraMatrix, registeredDistCoeffs, Rt, unregisteredDepth, outputImagePlaneSize[, registeredDepth[, depthDilation]]) -> registeredDepth

#include <opencv2/rgbd/depth.hpp>

將深度資料註冊到外部相機。註冊透過建立深度點雲,用相機之間的剛體變換轉換點雲,然後將變換後的點投影到 RGB 相機來完成。

uv_rgb = K_rgb * [R | t] * z * inv(K_ir) * uv_ir

目前不檢查負深度值。

引數
unregisteredCameraMatrix深度相機的相機矩陣
registeredCameraMatrix外部相機的相機矩陣
registeredDistCoeffs外部相機的畸變係數
Rt相機之間的剛體變換。將點從深度相機座標系變換到外部相機座標系。
unregisteredDepth輸入深度資料
outputImagePlaneSize外部相機的影像平面尺寸 (寬度, 高度)
registeredDepth將深度變換到外部相機的結果
depthDilation是否對深度進行膨脹以避免空洞和遮擋錯誤 (可選)

◆ rescaleDepth()

void cv::rgbd::rescaleDepth ( InputArray in,
int depth,
OutputArray out,
double depth_factor = 1000.0 )
Python
cv.rgbd.rescaleDepth(in_, depth[, out[, depth_factor]]) -> out

#include <opencv2/rgbd/depth.hpp>

如果輸入影像型別為 CV_16UC1 (如 Kinect),則將其轉換為浮點數,除以 depth_factor 得到米為單位的深度,並將 0 值轉換為 std::numeric_limits<float>::quiet_NaN()。否則,影像將被簡單地轉換為浮點數。

引數
in深度影像 (如果以 short int CV_U 給出,則假定其單位為毫米 (如 Microsoft Kinect),否則假定其單位為米)
depth所需的輸出深度 (浮點數或雙精度)
out重縮放後的浮點深度影像
depth_factor(可選) 深度轉換為距離的因子 (預設值為 1000.0,適用於 Kinect 感測器)

◆ warpFrame()

void cv::rgbd::warpFrame ( const Mat & 影像,
const Mat & depth,
const Mat & mask,
const Mat & Rt,
const Mat & cameraMatrix,
const Mat & distCoeff,
OutputArray warpedImage,
OutputArray warpedDepth = noArray(),
OutputArray warpedMask = noArray() )
Python
cv.rgbd.warpFrame(image, depth, mask, Rt, cameraMatrix, distCoeff[, warpedImage[, warpedDepth[, warpedMask]]]) -> warpedImage, warpedDepth, warpedMask

#include <opencv2/rgbd/depth.hpp>

變換影像: 從深度計算 3D 點,使用給定的變換進行變換,然後將彩色點雲投影到影像平面。此函式可用於視覺化 Odometry 演算法的結果。

引數
影像影像 (CV_8UC1 或 CV_8UC3 型別)
depth深度 (在 depthTo3d 函式中使用過的型別)
mask使用畫素的掩碼 (CV_8UC1),它可以是空的
Rt將應用於從深度計算的 3D 點的變換
cameraMatrix相機矩陣
distCoeff畸變係數
warpedImage變換後的影像。
warpedDepth變換後的深度。
warpedMask變換後的掩碼。