OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項

#include <opencv2/objdetect/charuco_detector.hpp>

cv::aruco::CharucoDetector 的協作圖

公共成員函式

 CharucoDetector (const CharucoBoard &board, const CharucoParameters &charucoParams=CharucoParameters(), const DetectorParameters &detectorParams=DetectorParameters(), const RefineParameters &refineParams=RefineParameters())
 基本的 CharucoDetector 建構函式。
 
void detectBoard (InputArray image, OutputArray charucoCorners, OutputArray charucoIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const
 檢測aruco標記並內插ChArUco板角點的位置
 
void detectDiamonds (InputArray image, OutputArrayOfArrays diamondCorners, OutputArray diamondIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const
 檢測 ChArUco Diamond 標記。
 
const CharucoBoardgetBoard () const
 
const CharucoParametersgetCharucoParameters () const
 
const DetectorParametersgetDetectorParameters () const
 
const RefineParametersgetRefineParameters () const
 
void setBoard (const CharucoBoard &board)
 
void setCharucoParameters (CharucoParameters &charucoParameters)
 
void setDetectorParameters (const DetectorParameters &detectorParameters)
 
void setRefineParameters (const RefineParameters &refineParameters)
 
- 繼承自 cv::Algorithm 的公共成員函式
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除演算法狀態。
 
virtual bool empty () const
 如果 Algorithm 為空(例如,在最開始或讀取不成功後),則返回true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 從檔案儲存中讀取演算法引數。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 將演算法引數儲存到檔案儲存中。
 
void write (FileStorage &fs, const String &name) const
 

保護屬性

Ptr< CharucoDetectorImpl > charucoDetectorImpl
 

其他繼承成員

- 繼承自 cv::Algorithm 的靜態公共成員函式
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 從檔案中載入演算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 從字串載入演算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 從檔案節點讀取演算法。
 
- 繼承自 cv::Algorithm 的保護成員函式
void writeFormat (FileStorage &fs) const
 

建構函式 & 解構函式文件

◆ CharucoDetector()

cv::aruco::CharucoDetector::CharucoDetector ( const CharucoBoard & board,
const CharucoParameters & charucoParams = CharucoParameters(),
const DetectorParameters & detectorParams = DetectorParameters(),
const RefineParameters & refineParams = RefineParameters() )
Python
cv.aruco.CharucoDetector(board[, charucoParams[, detectorParams[, refineParams]]]) -> <aruco_CharucoDetector object>

基本的 CharucoDetector 建構函式。

引數
boardChAruco 板
charucoParamscharuco 檢測引數
detectorParams標記檢測引數
refineParams標記精煉檢測引數

成員函式文件

◆ detectBoard()

void cv::aruco::CharucoDetector::detectBoard ( InputArray image,
OutputArray charucoCorners,
OutputArray charucoIds,
InputOutputArrayOfArrays markerCorners = noArray(),
InputOutputArray markerIds = noArray() ) const
Python
cv.aruco.CharucoDetector.detectBoard(image[, charucoCorners[, charucoIds[, markerCorners[, markerIds]]]]) -> charucoCorners, charucoIds, markerCorners, markerIds

檢測aruco標記並內插ChArUco板角點的位置

引數
image用於角點細化的輸入影像。請注意,標記未被檢測到,應在 corners 和 ids 引數中傳送。
charucoCorners插值的棋盤格角點。
charucoIds插值的棋盤格角點識別符號。
markerCorners已檢測到的標記角點的向量。對於每個標記,提供其四個角點(例如 std::vector<std::vector<cv::Point2f> >)。對於 N 個檢測到的標記,此陣列的維度應為 Nx4。角點的順序應為順時針。如果 markerCorners 和 markerIds 為空,則函式將檢測 aruco 標記和 ID。
markerIdscorners 中每個標記的識別符號列表。如果 markerCorners 和 markerIds 為空,則函式將檢測 aruco 標記和 ID。

此函式接收檢測到的標記,並使用檢測到的 Aruco 標記返回 ChArUco 板的棋盤格角點的二維位置。

如果 markerCorners 和 markerIds 為空,則 detectMarkers() 將執行並檢測 aruco 標記和 ID。

如果提供了相機引數,則該過程基於近似姿態估計,否則基於區域性單應性。只返回可見角點。對於每個角點,其相應的識別符號也將在 charucoIds 中返回。

另請參見
findChessboardCorners
注意
在 OpenCV 4.6.0 之後,ChArUco 圖案生成演算法對偶數行計數進行了不相容的更改。使用 cv::aruco::CharucoBoard::setLegacyPattern() 以確保與使用早於 4.6.0 版本的 OpenCV 建立的圖案相容。更多資訊,請參閱此問題:https://github.com/opencv/opencv/issues/23152
此函式的呼叫圖如下

◆ detectDiamonds()

void cv::aruco::CharucoDetector::detectDiamonds ( InputArray image,
OutputArrayOfArrays diamondCorners,
OutputArray diamondIds,
InputOutputArrayOfArrays markerCorners = noArray(),
InputOutputArray markerIds = noArray() ) const
Python
cv.aruco.CharucoDetector.detectDiamonds(image[, diamondCorners[, diamondIds[, markerCorners[, markerIds]]]]) -> diamondCorners, diamondIds, markerCorners, markerIds

檢測 ChArUco Diamond 標記。

引數
image用於角點亞畫素處理的輸入影像。
diamondCorners檢測到的菱形角點(每個菱形4個角點)的輸出列表。順序與標記角點相同:左上、右上、右下、左下。格式類似於 detectMarkers 返回的角點(例如 std::vector<std::vector<cv::Point2f> >)。
diamondIdsdiamondCorners 中菱形的 ID。每個菱形的 ID 實際上是 Vec4i 型別,因此每個菱形有 4 個 ID,它們是構成菱形的 aruco 標記的 ID。
markerCorners來自 detectMarkers 函式的已檢測標記角點列表。如果 markerCorners 和 markerIds 為空,則函式將檢測 aruco 標記和 ID。
markerIdsmarkerCorners 中標記 ID 的列表。如果 markerCorners 和 markerIds 為空,則函式將檢測 aruco 標記和 ID。

此函式從之前檢測到的 ArUco 標記中檢測菱形標記。菱形在 diamondCorners 和 diamondIds 引數中返回。如果提供了相機校準引數,則菱形搜尋基於重投影。如果未提供,則菱形搜尋基於單應性。單應性比重投影快,但精度較低。

此函式的呼叫圖如下

◆ getBoard()

const CharucoBoard & cv::aruco::CharucoDetector::getBoard ( ) const
Python
cv.aruco.CharucoDetector.getBoard() -> retval

◆ getCharucoParameters()

const CharucoParameters & cv::aruco::CharucoDetector::getCharucoParameters ( ) const
Python
cv.aruco.CharucoDetector.getCharucoParameters() -> retval

◆ getDetectorParameters()

const DetectorParameters & cv::aruco::CharucoDetector::getDetectorParameters ( ) const
Python
cv.aruco.CharucoDetector.getDetectorParameters() -> retval

◆ getRefineParameters()

const RefineParameters & cv::aruco::CharucoDetector::getRefineParameters ( ) const
Python
cv.aruco.CharucoDetector.getRefineParameters() -> retval

◆ setBoard()

void cv::aruco::CharucoDetector::setBoard ( const CharucoBoard & board)
Python
cv.aruco.CharucoDetector.setBoard(board) ->

◆ setCharucoParameters()

void cv::aruco::CharucoDetector::setCharucoParameters ( CharucoParameters & charucoParameters)
Python
cv.aruco.CharucoDetector.setCharucoParameters(charucoParameters) ->

◆ setDetectorParameters()

void cv::aruco::CharucoDetector::setDetectorParameters ( const DetectorParameters & detectorParameters)
Python
cv.aruco.CharucoDetector.setDetectorParameters(detectorParameters) ->

◆ setRefineParameters()

void cv::aruco::CharucoDetector::setRefineParameters ( const RefineParameters & refineParameters)
Python
cv.aruco.CharucoDetector.setRefineParameters(refineParameters) ->

成員資料文件

◆ charucoDetectorImpl

Ptr<CharucoDetectorImpl> cv::aruco::CharucoDetector::charucoDetectorImpl
保護

此類的文件生成自以下檔案