OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::FileNode 类参考

文件存储 节点 类。 详情...

#include <opencv2/core/persistence.hpp>

cv::FileNode 协作图

公开类型

enum  {
  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
 如果节点是“空”对象则返回 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.

成员枚举文档

◆ 匿名枚举

匿名枚举

文件存储节点类型

枚举值 (Enumerator)
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

如果节点是“空”对象则返回 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
内联

返回节点内容作为文本字符串

此函数的调用图

◆ 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 * value (值),
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

该类的文档由以下文件生成: