OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::FileNode 類參考

檔案儲存 節點 類。 更多...

#include <opencv2/core/persistence.hpp>

cv::FileNode 的協作圖

公共型別

列舉  {
  NONE = 0 ,
  INT = 1 ,
  REAL (實數) = 2 ,
  FLOAT = REAL ,
  STR = 3 ,
  STRING = STR ,
  SEQ = 4 ,
  MAP = 5 ,
  TYPE_MASK = 7 ,
  FLOW = 8 ,
  UNIFORM = 8 ,
  EMPTY = 16 ,
  NAMED = 32
}
 檔案儲存節點型別 更多...
 

公共成員函式

 FileNode ()
 建構函式。
 
 FileNode (const FileNode &node)
 
 FileNode (const FileStorage *fs, size_t blockIdx, size_t ofs)
 
 FileNode (FileStorage::Impl *fs, size_t blockIdx, size_t ofs)
 
FileNodeIterator begin () const
 返回指向第一個節點元素的迭代器
 
bool empty () const
 如果節點為空,則返回 true
 
FileNodeIterator end () const
 返回指向最後一個節點元素之後元素的迭代器
 
bool isInt () const
 如果節點是整數,則返回 true
 
bool isMap () const
 如果節點是對映,則返回 true
 
bool isNamed () const
 如果節點有名稱,則返回 true
 
bool isNone () const
 如果節點是“none”物件,則返回 true
 
bool isReal () const
 如果節點是浮點數,則返回 true
 
bool isSeq () const
 如果節點是序列,則返回 true
 
bool isString () const
 如果節點是文字字串,則返回 true
 
std::vector< Stringkeys () const
 返回對映節點的鍵。
 
Mat mat () const
 用於繫結目的的簡化讀取 API。
 
std::string name () const
 返回節點名稱,如果節點無名則返回空字串
 
 operator double () const
 將節點內容作為 double 返回
 
 operator float () const
 將節點內容作為 float 返回
 
 operator int64_t () const
 將節點內容作為帶符號的 64 位整數返回。如果節點儲存浮點數,則將其四捨五入。
 
 operator std::string () const
 將節點內容作為文字字串返回
 
FileNodeoperator= (const FileNode &node)
 
FileNode operator[] (const char *nodename) const
 
FileNode operator[] (const String &nodename) const
 返回對映節點或序列的元素。
 
FileNode operator[] (int i) const
 
ucharptr ()
 
const ucharptr () const
 
size_t rawSize () const
 返回 FileNode 的原始位元組大小
 
void readRaw (const String &fmt, void *vec, size_t len) const
 使用指定的格式將節點元素讀取到緩衝區中。
 
double real () const
 用於繫結目的的簡化讀取 API。
 
void setValue (int type, const void *value, int len=-1)
 
size_t size () const
 如果節點是序列或對映,則返回節點中的元素數量;否則返回 1。
 
std::string string () const
 用於繫結目的的簡化讀取 API。
 
int type () const
 返回節點的型別。
 

靜態公共成員函式

static bool isCollection (int flags)
 
static bool isEmptyCollection (int flags)
 
static bool isFlow (int flags)
 
static bool isMap (int flags)
 
static bool isSeq (int flags)
 

公共屬性

size_t blockIdx
 
FileStorage::Impl * fs
 
size_t ofs
 

詳細描述

檔案儲存 節點 類。

該節點用於儲存為讀取而開啟的檔案儲存中的每個元素。當讀取 XML/YAML 檔案時,它首先被解析並作為節點的層次結構集合儲存在記憶體中。每個節點都可以是包含單個數字或字串的“葉子”,也可以是其他節點的集合。可以是命名集合(對映),其中每個元素都有一個名稱並按名稱訪問;也可以是有序集合(序列),其中元素沒有名稱,而是按索引訪問。檔案節點的型別可以使用 FileNode::type 方法確定。

請注意,檔案節點僅用於導航為讀取而開啟的檔案儲存。當檔案儲存為寫入而開啟時,寫入後不會在記憶體中儲存任何資料。

示例
samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp.

成員列舉文件

◆ 匿名列舉

匿名列舉

檔案儲存節點型別

列舉器
NONE 

空節點

INT 

整數

REAL 

浮點數

FLOAT 

REAL 的同義詞

STR 

UTF-8 編碼的文字字串

STRING 

STR 的同義詞

SEQ 

序列

MAP 

對映

TYPE_MASK 
FLOW 

序列或對映的緊湊表示。僅供 YAML 寫入器使用

UNIFORM 

UNIFORM 僅在讀取 FileStorage 時使用;FLOW 僅在寫入時使用。因此它們共享相同的位。

如果設定,表示所有集合元素都是相同型別(實數或整數)的數字。

EMPTY 

空結構(序列或對映)

NAMED 

節點有名稱(即,它是對映的一個元素)。

建構函式 & 解構函式文件

◆ FileNode() [1/4]

cv::FileNode::FileNode ( )
Python
cv.FileNode() -> <FileNode object>

建構函式。

這些建構函式用於建立預設檔案節點,從舊結構或另一個檔案節點構造它。

◆ FileNode() [2/4]

cv::FileNode::FileNode ( const FileStorage * fs,
size_t blockIdx,
size_t ofs )
Python
cv.FileNode() -> <FileNode object>

這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於接受的引數。

引數
fs指向檔案儲存結構的指標。
blockIdx儲存檔案節點的記憶體塊索引
ofs從序列化儲存開始的位元組偏移量
已棄用

◆ FileNode() [3/4]

cv::FileNode::FileNode ( const FileNode & node)
Python
cv.FileNode() -> <FileNode object>

這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於接受的引數。

引數
node用作建立檔案節點初始化的檔案節點。

◆ FileNode() [4/4]

cv::FileNode::FileNode ( FileStorage::Impl * fs,
size_t blockIdx,
size_t ofs )
Python
cv.FileNode() -> <FileNode object>

成員函式文件

◆ begin()

FileNodeIterator cv::FileNode::begin ( ) const

返回指向第一個節點元素的迭代器

示例
samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp.

◆ empty()

bool cv::FileNode::empty ( ) const
Python
cv.FileNode.empty() -> retval

◆ end()

FileNodeIterator cv::FileNode::end ( ) const

返回指向最後一個節點元素之後元素的迭代器

示例
samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp.

◆ isCollection()

static bool cv::FileNode::isCollection ( int flags)
static

◆ isEmptyCollection()

static bool cv::FileNode::isEmptyCollection ( int flags)
static

◆ isFlow()

static bool cv::FileNode::isFlow ( int flags)
static

◆ isInt()

bool cv::FileNode::isInt ( ) const
Python
cv.FileNode.isInt() -> retval

如果節點是整數,則返回 true

◆ isMap() [1/2]

bool cv::FileNode::isMap ( ) const
Python
cv.FileNode.isMap() -> retval

如果節點是對映,則返回 true

◆ isMap() [2/2]

static bool cv::FileNode::isMap ( int flags)
static
Python
cv.FileNode.isMap() -> retval

◆ isNamed()

bool cv::FileNode::isNamed ( ) const
Python
cv.FileNode.isNamed() -> retval

如果節點有名稱,則返回 true

◆ isNone()

bool cv::FileNode::isNone ( ) const
Python
cv.FileNode.isNone() -> retval

如果節點是“none”物件,則返回 true

◆ isReal()

bool cv::FileNode::isReal ( ) const
Python
cv.FileNode.isReal() -> retval

如果節點是浮點數,則返回 true

◆ isSeq() [1/2]

bool cv::FileNode::isSeq ( ) const
Python
cv.FileNode.isSeq() -> retval

如果節點是序列,則返回 true

◆ isSeq() [2/2]

static bool cv::FileNode::isSeq ( int flags)
static
Python
cv.FileNode.isSeq() -> retval

◆ isString()

bool cv::FileNode::isString ( ) const
Python
cv.FileNode.isString() -> retval

如果節點是文字字串,則返回 true

◆ keys()

std::vector< String > cv::FileNode::keys ( ) const
Python
cv.FileNode.keys() -> retval

返回對映節點的鍵。

返回
對映節點的鍵。

◆ mat()

Mat cv::FileNode::mat ( ) const
Python
cv.FileNode.mat() -> retval

用於繫結目的的簡化讀取 API。

◆ name()

std::string cv::FileNode::name ( ) const
Python
cv.FileNode.name() -> retval

返回節點名稱,如果節點無名則返回空字串

◆ operator double()

cv::FileNode::operator double ( ) const

將節點內容作為 double 返回

◆ operator float()

cv::FileNode::operator float ( ) const

將節點內容作為 float 返回

◆ operator int64_t()

cv::FileNode::operator int64_t ( ) const

將節點內容作為帶符號的 64 位整數返回。如果節點儲存浮點數,則將其四捨五入。

◆ operator std::string()

cv::FileNode::operator std::string ( ) const
inline

將節點內容作為文字字串返回

此函式的呼叫圖如下

◆ operator=()

FileNode & cv::FileNode::operator= ( const FileNode & node)

◆ operator[]() [1/3]

FileNode cv::FileNode::operator[] ( const char * nodename) const
Python
cv.FileNode.at(i) -> retval
cv.FileNode.getNode(nodename) -> retval

這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於接受的引數。

引數
nodename對映節點中元素的名稱。

◆ operator[]() [2/3]

FileNode cv::FileNode::operator[] ( const String & nodename) const
Python
cv.FileNode.at(i) -> retval
cv.FileNode.getNode(nodename) -> retval

返回對映節點或序列的元素。

引數
nodename對映節點中元素的名稱。
返回
返回具有給定識別符號的元素。

◆ operator[]() [3/3]

FileNode cv::FileNode::operator[] ( int i) const
Python
cv.FileNode.at(i) -> retval
cv.FileNode.getNode(nodename) -> retval

這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於接受的引數。

引數
i序列節點中元素的索引。

◆ ptr() [1/2]

uchar * cv::FileNode::ptr ( )

◆ ptr() [2/2]

const uchar * cv::FileNode::ptr ( ) const

◆ rawSize()

size_t cv::FileNode::rawSize ( ) const
Python
cv.FileNode.rawSize() -> retval

返回 FileNode 的原始位元組大小

◆ readRaw()

void cv::FileNode::readRaw ( const String & fmt,
void * vec,
size_t len ) const

使用指定的格式將節點元素讀取到緩衝區中。

通常使用 >> 運算子比使用此方法更方便。

引數
fmt每個陣列元素的規範。參見 格式規範
vec指向目標陣列的指標。
len要讀取的位元組數(緩衝區大小限制)。如果大於剩餘元素的數量,則將讀取所有元素。

◆ real()

double cv::FileNode::real ( ) const
Python
cv.FileNode.real() -> retval

用於繫結目的的簡化讀取 API。

◆ setValue()

void cv::FileNode::setValue ( int type,
const void * ,
int len = -1 )

讀取 FileStorage 時使用的內部方法。設定先前建立的節點的型別(整數、實數或字串)和值。

◆ size()

size_t cv::FileNode::size ( ) const
Python
cv.FileNode.size() -> retval

如果節點是序列或對映,則返回節點中的元素數量;否則返回 1。

◆ string()

std::string cv::FileNode::string ( ) const
Python
cv.FileNode.string() -> retval

用於繫結目的的簡化讀取 API。

◆ type()

int cv::FileNode::type ( ) const
Python
cv.FileNode.type() -> retval

返回節點的型別。

返回
節點的型別。參見 FileNode::Type
示例
samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp.

成員資料文件

◆ blockIdx

size_t cv::FileNode::blockIdx

◆ fs

FileStorage::Impl* cv::FileNode::fs

◆ ofs

size_t cv::FileNode::ofs

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