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

此类的文档是从以下文件生成的