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

Dictionary 是一組大小相同的唯一 ArUco 標記。 更多...

#include <opencv2/objdetect/aruco_dictionary.hpp>

cv::aruco::Dictionary 的協作圖

公共成員函式

 Dictionary ()
 
 Dictionary (const Mat &bytesList, int _markerSize, int maxcorr=0)
 基本的 ArUco 字典建構函式。
 
void generateImageMarker (int id, int sidePixels, OutputArray _img, int borderBits=1) const
 生成規範標記影像。
 
int getDistanceToId (InputArray bits, int id, bool allRotations=true) const
 返回輸入位與特定 ID 的 Hamming 距離。
 
bool identify (const Mat &onlyBits, int &idx, int &rotation, double maxCorrectionRate) const
 給定一個位矩陣。返回標記是否被識別。
 
bool readDictionary (const cv::FileNode &fn)
 FileNode 讀取新字典。
 
void writeDictionary (FileStorage &fs, const String &name=String())
 將字典寫入 FileStorage,格式與 readDictionary() 相同。
 

靜態公共成員函式

static Mat getBitsFromByteList (const Mat &byteList, int markerSize)
 將位元組列表轉換為位矩陣。
 
static Mat getByteListFromBits (const Mat &bits)
 將位矩陣轉換為包含 4 種標記旋轉的位元組列表。
 

公共屬性

Mat bytesList
 標記程式碼資訊。有關更多詳細資訊,請參閱類描述
 
int markerSize
 每個維度的位數
 
int maxCorrectionBits
 可以校正的最大位數
 

詳細描述

Dictionary 是一組大小相同的唯一 ArUco 標記。

bytesList 儲存為 2 維 Mat,具有 4 個通道(使用 CV_8UC4 型別),幷包含標記碼字,其中

  • bytesList.rows 是字典大小
  • 每個標記使用 nbytes = ceil(markerSize*markerSize/8.) 位元組編碼
  • 每行包含標記的所有 4 種旋轉,因此其長度為 4*nbytes
  • bytesList[i] 行中的位元組順序://無旋轉位元組/旋轉 1 位元組/旋轉 2 位元組/旋轉 3 位元組// 因此 bytesList.ptr(i)[k*nbytes + j] 是第 i 個標記的第 j 個位元組,在其第 k 次旋轉中。
    注意
    Python 繫結生成 `bytesList` 形狀為 dictionary_size x nbytes x 4 的矩陣,但其索引方式應與 C++ 版本相同。Python 示例:對於第 i 個標記的第 j 個位元組,在其第 k 次旋轉中:aruco_dict.bytesList[id].ravel()[k*nbytes + j]

建構函式 & 解構函式文件

◆ Dictionary() [1/2]

cv::aruco::Dictionary::Dictionary ( )
Python
cv.aruco.Dictionary() -> <aruco_Dictionary 物件>
cv.aruco.Dictionary(bytesList, _markerSize[, maxcorr]) -> <aruco_Dictionary 物件>

◆ Dictionary() [2/2]

cv::aruco::Dictionary::Dictionary ( const Mat & bytesList,
int _markerSize,
int maxcorr = 0 )
Python
cv.aruco.Dictionary() -> <aruco_Dictionary 物件>
cv.aruco.Dictionary(bytesList, _markerSize[, maxcorr]) -> <aruco_Dictionary 物件>

基本的 ArUco 字典建構函式。

引數
bytesList字典中所有 ArUco 標記的位,請參閱類描述中的記憶體佈局
_markerSizeArUco 標記的單位大小
maxcorr可以校正的最大位數

成員函式文件

◆ generateImageMarker()

void cv::aruco::Dictionary::generateImageMarker ( int id,
int sidePixels,
OutputArray _img,
int borderBits = 1 ) const
Python
cv.aruco.Dictionary.generateImageMarker(id, sidePixels[, _img[, borderBits]]) -> _img

生成規範標記影像。

◆ getBitsFromByteList()

static Mat cv::aruco::Dictionary::getBitsFromByteList ( const Mat & byteList,
int markerSize )
static
Python
cv.aruco.Dictionary.getBitsFromByteList(byteList, markerSize) -> retval
cv.aruco.Dictionary_getBitsFromByteList(byteList, markerSize) -> retval

將位元組列表轉換為位矩陣。

◆ getByteListFromBits()

static Mat cv::aruco::Dictionary::getByteListFromBits ( const Mat & bits)
static
Python
cv.aruco.Dictionary.getByteListFromBits(bits) -> retval
cv.aruco.Dictionary_getByteListFromBits(bits) -> retval

將位矩陣轉換為包含 4 種標記旋轉的位元組列表。

◆ getDistanceToId()

int cv::aruco::Dictionary::getDistanceToId ( InputArray bits,
int id,
bool allRotations = true ) const
Python
cv.aruco.Dictionary.getDistanceToId(bits, id[, allRotations]) -> retval

返回輸入位與特定 ID 的 Hamming 距離。

如果設定了 allRotations 標誌,則考慮四種可能的標記旋轉。

◆ identify()

bool cv::aruco::Dictionary::identify ( const Mat & onlyBits,
int & idx,
int & rotation,
double maxCorrectionRate ) const
Python
cv.aruco.Dictionary.identify(onlyBits, maxCorrectionRate) -> retval, idx, rotation

給定一個位矩陣。返回標記是否被識別。

返回字典中標記 ID 的引用(如果有)及其旋轉。

◆ readDictionary()

bool cv::aruco::Dictionary::readDictionary ( const cv::FileNode & fn)
Python
cv.aruco.Dictionary.readDictionary(fn) -> retval

FileNode 讀取新字典。

YAML 格式的 Dictionary 示例
nmarkers: 35
markersize: 6
maxCorrectionBits: 5
marker_0: "101011111011111001001001101100000000"
...
marker_34: "011111010000111011111110110101100101"

◆ writeDictionary()

void cv::aruco::Dictionary::writeDictionary ( FileStorage & fs,
const String & name = String() )
Python
cv.aruco.Dictionary.writeDictionary(fs[, name]) ->

將字典寫入 FileStorage,格式與 readDictionary() 相同。

成員資料文件

◆ bytesList

Mat cv::aruco::Dictionary::bytesList

標記程式碼資訊。有關更多詳細資訊,請參閱類描述

◆ markerSize

int cv::aruco::Dictionary::markerSize

每個維度的位數

◆ maxCorrectionBits

int cv::aruco::Dictionary::maxCorrectionBits

可以校正的最大位數


此類的文件是從以下檔案生成的