OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
正在載入...
正在搜尋...
未找到匹配項
基於輪廓的3D物件跟蹤

詳細說明

實現"RAPID-a video rate object tracker" [119],並結合 [77] 的動態控制點提取

類  cv::rapid::GOSTracker
 
類  cv::rapid::OLSTracker
 
類  cv::rapid::Rapid
 圍繞 基於輪廓的3D物件跟蹤 功能的包裝器,用於統一訪問 更多...
 
類  cv::rapid::Tracker
 狀態輪廓跟蹤器的抽象基類。 更多...
 

函式

void cv::rapid::convertCorrespondencies (InputArray cols, InputArray srcLocations, OutputArray pts2d, InputOutputArray pts3d=noArray(), InputArray mask=noArray())
 
void cv::rapid::drawCorrespondencies (InputOutputArray bundle, InputArray cols, InputArray colors=noArray())
 
void cv::rapid::drawSearchLines (InputOutputArray img, InputArray locations, const Scalar &color)
 
void cv::rapid::drawWireframe (InputOutputArray img, InputArray pts2d, InputArray tris, const Scalar &color, int type=LINE_8, bool cullBackface=false)
 
void cv::rapid::extractControlPoints (int num, int len, InputArray pts3d, InputArray rvec, InputArray tvec, InputArray K, const Size &imsize, InputArray tris, OutputArray ctl2d, OutputArray ctl3d)
 
void cv::rapid::extractLineBundle (int len, InputArray ctl2d, InputArray img, OutputArray bundle, OutputArray srcLocations)
 
void cv::rapid::findCorrespondencies (InputArray bundle, OutputArray cols, OutputArray response=noArray())
 
float cv::rapid::rapid (InputArray img, int num, int len, InputArray pts3d, InputArray tris, InputArray K, InputOutputArray rvec, InputOutputArray tvec, double *rmsd=0)
 

函式文件 (Function Documentation)

◆ convertCorrespondencies()

void cv::rapid::convertCorrespondencies ( InputArray cols (列數),
InputArray srcLocations,
OutputArray pts2d,
InputOutputArray pts3d=noArray(),
InputArray mask = noArray() )
Python
cv.rapid.convertCorrespondencies(cols, srcLocations[, pts2d[, pts3d[, mask]]]) -> pts2d, pts3d

#include <opencv2/rapid.hpp>

根據對應關係和掩碼收集對應的2d和3d點

引數
cols (列數)線束空間中的對應-位置
srcLocations源影像位置
pts2d2D點
pts3d3D點
mask包含非零值的掩碼,用於保留元素

◆ drawCorrespondencies()

void cv::rapid::drawCorrespondencies ( InputOutputArray bundle,
InputArray cols (列數),
InputArray colors=noArray() )
Python
cv.rapid.drawCorrespondencies(bundle, cols[, colors]) -> bundle

#include <opencv2/rapid.hpp>

在lineBundle上除錯繪製匹配的對應關係的標記

引數
bundlelineBundle
cols (列數)線束中的列座標
colors標記的顏色。預設為白色。

◆ drawSearchLines()

void cv::rapid::drawSearchLines ( InputOutputArray img,
InputArray locations,
const Scalar & color )
Python
cv.rapid.drawSearchLines(img, locations, color) -> img

#include <opencv2/rapid.hpp>

在影像上除錯繪製搜尋線

引數
img輸出影像
locationsline bundle的源位置
color線條顏色

◆ drawWireframe()

void cv::rapid::drawWireframe ( InputOutputArray img,
InputArray pts2d,
InputArray tris,
const Scalar & color,
int type=LINE_8,
bool cullBackface=false )
Python
cv.rapid.drawWireframe(img, pts2d, tris, color[, type[, cullBackface]]) -> img

#include <opencv2/rapid.hpp>

繪製三角形網格的線框

引數
img輸出影像
pts2dprojectPoints 獲得的2D點
tris三角形面的連通性
color線條顏色
type線型。請參閱 LineTypes
cullBackface基於CCW順序啟用背面剔除

◆ extractControlPoints()

void cv::rapid::extractControlPoints ( int num,
int len,
InputArray pts3d,
InputArray rvec,
InputArray tvec,
InputArray K,
const Size & imsize,
InputArray tris,
OutputArray ctl2d,
OutputArray ctl3d )
Python
cv.rapid.extractControlPoints(num, len, pts3d, rvec, tvec, K, imsize, tris[, ctl2d[, ctl3d]]) -> ctl2d, ctl3d

#include <opencv2/rapid.hpp>

從網格投影的輪廓中提取控制點

參見 [77] Sec 2.1, Step b

引數
num控制點數量
len搜尋半徑 (用於限制ROI)
pts3d網格的3D點
rvec網格和相機之間的旋轉
tvec網格和相機之間的平移
K相機內參
imsize影片幀的大小
tris三角形面的連通性
ctl2d控制點的2D位置
ctl3d網格的匹配3D點

◆ extractLineBundle()

void cv::rapid::extractLineBundle ( int len,
InputArray ctl2d,
InputArray img,
OutputArray bundle,
OutputArray srcLocations )
Python
cv.rapid.extractLineBundle(len, ctl2d, img[, bundle[, srcLocations]]) -> bundle, srcLocations

#include <opencv2/rapid.hpp>

從影像中提取線束

引數
len搜尋半徑。線束將有2*len + 1列。
ctl2d搜尋線將以這些點為中心,並垂直於由它們定義的輪廓。線束將有與它們相同數量的行。
img從中讀取畫素強度值的影像
bundle線束影像,大小為ctl2d.rows() x (2 * len + 1),型別與img相同
srcLocationsbundleimg中的源畫素位置,格式為CV_16SC2

◆ findCorrespondencies()

void cv::rapid::findCorrespondencies ( InputArray bundle,
OutputArray cols (列數),
OutputArray response=noArray() )
Python
cv.rapid.findCorrespondencies(bundle[, cols[, response]]) -> cols, response

#include <opencv2/rapid.hpp>

透過在搜尋線上(線束中的單行)搜尋最大sobel邊緣來查詢對應的影像位置

引數
bundle線束
cols (列數)線束空間中的對應-位置
response所選點的sobel響應

◆ rapid()

float cv::rapid::rapid ( InputArray img,
int num,
int len,
InputArray pts3d,
InputArray tris,
InputArray K,
InputOutputArray rvec,
InputOutputArray tvec,
double * rmsd=0 )
Python
cv.rapid.rapid(img, num, len, pts3d, tris, K, rvec, tvec) -> retval, rvec, tvec, rmsd

#include <opencv2/rapid.hpp>

執行單次rapid [119] 迭代的高階函式

  1. extractControlPoints
  2. extractLineBundle
  3. findCorrespondencies
  4. convertCorrespondencies
  5. solvePnPRefineLM
引數
img影片幀
num搜尋線數量
len搜尋線半徑
pts3d網格的3D點
tris三角形面的連通性
K相機矩陣
rvec網格和相機之間的旋轉。輸入值用作初始解。
tvec網格和相機之間的平移。輸入值用作初始解。
rmsd2D重投影差
返回
可以提取和匹配的搜尋線比例
此函式的呼叫圖