OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
RGB-深度处理

详细描述

ICP点到平面里程计算法

类 cv::linemod::ColorGradient
 计算来自彩色图像的量化梯度方向的模态更多…
 
类 cv::rgbd::DepthCleaner
 
类 cv::linemod::DepthNormal
 计算来自密集深度图的量化表面法线的模态更多…
 
类 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())
 

函数文档

◆ 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,
输出数组 三维点,
InputArray 掩码 = noArray() )
Python
cv.rgbd.depthTo3d(深度图, K[, points3d[, mask]]) -> 三维点

#include <opencv2/rgbd/depth.hpp>

将深度图像转换为组织好的三维点集。坐标系为x指向左,y指向下,z指向远离相机的方向。

参数
depth深度图像(如果给出的是短整型CV_U,则假设深度为毫米(如Microsoft Kinect所做的那样),否则,如果给出的是CV_32F或CV_64F,则假设为米)
K相机内参矩阵
三维点生成的3D点。如果depth是CV_32F或CV_64F,则其深度与depth相同;如果depth是CV_U,则其深度与K相同。
掩码要考虑的点的掩码(可以为空)

◆ depthTo3dSparse()

void cv::rgbd::depthTo3dSparse ( InputArray depth,
InputArray 输入K,
InputArray 输入点,
输出数组 points3d )
Python
cv.rgbd.depthTo3dSparse(深度图, in_K, in_points[, points3d]) -> 三维点

#include <opencv2/rgbd/depth.hpp>

参数
depth深度图像
输入K
输入点xy坐标列表
三维点生成的3D点

◆ drawFeatures()

void cv::linemod::drawFeatures ( 输入输出数组 图像,
const std::vector< Template > & 模板,
const Point2i & 左上角点,
int 大小 = 10 )
Python
cv.linemod.drawFeatures(img, templates, tl[, size]) -> 图像

#include <opencv2/rgbd/linemod.hpp>

用于绘制linemod特征的调试函数。

参数
图像
模板参见 Detector::addTemplate
左上角点模板边界框左上角偏移,参见 Detector::addTemplate
大小标记大小,参见 cv::drawMarker

◆ getDefaultLINE()

Ptr< linemod::Detector > cv::linemod::getDefaultLINE ( )
Python
cv.linemod.getDefaultLINE() -> 返回值

#include <opencv2/rgbd/linemod.hpp>

使用带有颜色梯度的LINE算法的检测器的工厂函数。

适用于VGA图像的默认参数设置。

◆ getDefaultLINEMOD()

Ptr< linemod::Detector > cv::linemod::getDefaultLINEMOD ( )
Python
cv.linemod.getDefaultLINEMOD() -> 返回值

#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,约定是如果它是极限值则无效。对于浮点数/双精度数,我们只需检查它是否为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 未注册相机矩阵,
InputArray 已注册相机矩阵,
InputArray 已注册畸变系数,
InputArray 旋转平移矩阵Rt,
InputArray 未注册深度图,
const Size & 输出图像平面尺寸,
输出数组 已注册深度图,
布尔值 深度膨胀 = false )
Python
cv.rgbd.registerDepth(unregisteredCameraMatrix, registeredCameraMatrix, registeredDistCoeffs, Rt, unregisteredDepth, outputImagePlaneSize[, registeredDepth[, depthDilation]]) -> 已注册深度图

#include <opencv2/rgbd/depth.hpp>

将深度数据注册到外部相机。注册是通过创建深度点云、使用相机之间的刚体变换变换点云,然后将变换后的点投影到RGB相机来执行的。

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

目前不检查负深度值。

参数
未注册相机矩阵深度相机的相机矩阵
已注册相机矩阵外部相机的相机矩阵
已注册畸变系数外部相机的畸变系数
旋转平移矩阵Rt相机之间的刚体变换。将点从深度相机坐标系变换到外部相机坐标系。
未注册深度图输入深度数据
输出图像平面尺寸外部相机的图像平面尺寸(宽度,高度)
已注册深度图将深度变换到外部相机的结果
深度膨胀是否膨胀深度以避免孔洞和遮挡错误(可选)

◆ rescaleDepth()

void cv::rgbd::rescaleDepth ( InputArray 输入,
int depth,
输出数组 输出,
双精度数 深度因子 = 1000.0 )
Python
cv.rgbd.rescaleDepth(in_, depth[, out[, depth_factor]]) -> 输出

#include <opencv2/rgbd/depth.hpp>

如果输入图像是CV_16UC1类型(如Kinect图像),则图像将转换为浮点数,除以depth_factor以获得米为单位的深度,并将值0转换为std::numeric_limits<float>::quiet_NaN()。否则,图像将简单地转换为浮点数。

参数
输入深度图像(如果给出的是短整型CV_U,则假设深度为毫米(如Microsoft Kinect所做的那样),则假设为米)
depth所需的输出深度(浮点数或双精度数)
输出重新缩放的浮点深度图像
深度因子(可选)深度转换为距离的因子(Kinect传感器默认为1000.0)

◆ warpFrame()

void cv::rgbd::warpFrame ( const Mat & 图像,
const Mat & depth,
const Mat & 掩码,
const Mat & 旋转平移矩阵Rt,
const Mat & 相机矩阵,
const Mat & 畸变系数,
输出数组 扭曲图像,
输出数组 扭曲深度 = noArray(),
输出数组 扭曲掩码 = noArray() )
Python
cv.rgbd.warpFrame(image, depth, mask, Rt, cameraMatrix, distCoeff[, warpedImage[, warpedDepth[, warpedMask]]]) -> warpedImage, warpedDepth, warpedMask

#include <opencv2/rgbd/depth.hpp>

扭曲图像:根据深度计算三维点,使用给定的变换变换它们,然后将彩色点云投影到图像平面。此函数可用于可视化Odometry算法的结果。

参数
图像图像(CV_8UC1或CV_8UC3类型)
depth深度(在depthTo3d函数中使用的类型)
掩码所用像素的掩码(CV_8UC1),可以为空
旋转平移矩阵Rt由深度计算得到的3D点将应用的变换
相机矩阵相机矩阵
畸变系数畸变系数
扭曲图像扭曲后的图像。
warpedDepth扭曲后的深度。
warpedMask扭曲后的掩码。