OpenCV  4.10.0
开源计算机视觉库
加载中...
搜索中...
无匹配项
公共类型 | 公共成员函数 | 静态公共成员函数 | 公共属性 | 所有成员列表
cv::FileNode 类参考

文件存储 Node 类。 更多...

#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 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
 

详细描述

文件存储 Node 类。

该节点用于存储为读取而打开的文件存储的每个元素。读取 XML/YAML 文件时,它首先被解析并存储在内存中,作为一个节点的层次结构集合。每个节点可以是一个“叶子”,包含单个数字或字符串,也可以是其他节点的集合。可以有命名的集合(映射),其中每个元素都有一个名称,并通过名称访问,以及有序的集合(序列),其中元素没有名称,而是通过索引访问。可以使用 FileNode::type 方法确定文件节点的类型。

请注意,文件节点仅用于导航为读取而打开的文件存储。打开文件存储以写入时,写入后不会将任何数据存储在内存中。

示例
samples/cpp/filestorage.cpp.

成员枚举文档

◆ 匿名枚举

匿名枚举

文件存储节点的类型

枚举值
NONE 

空节点

INT 

整数

REAL 

浮点数

FLOAT 

REAL 的同义词

STR 

以 UTF-8 编码的文本字符串

STRING 

STR 的同义词

SEQ 

序列

MAP 

映射

TYPE_MASK 
FLOW 

序列或映射的紧凑表示。仅由 YAML 编写器使用

UNIFORM 

仅在读取 FileStorage 时使用 UNIFORM;仅在写入时使用 FLOW。因此它们共享相同的位。

如果设置,表示所有集合元素都是相同类型的数字(实数或整数)。

EMPTY 

空结构(序列或映射)

NAMED 

该节点有名称(即它是映射的元素)。

构造函数和析构函数文档

◆ FileNode() [1/4]

cv::FileNode::FileNode ( )
Python
cv.FileNode() -> <FileNode 对象>

构造函数。

这些构造函数用于创建默认文件节点,从过时的结构或从另一个文件节点构造它。

◆ FileNode() [2/4]

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

这是为了方便而提供的重载成员函数。它与上面的函数的区别仅在于它接受的参数。

参数
fs指向文件存储结构的指针。
blockIdx存储文件节点的内存块索引
ofs从序列化存储的开头开始的字节偏移量
已弃用

◆ FileNode() [3/4]

cv::FileNode::FileNode ( const FileNode node)
Python
cv.FileNode() -> <FileNode 对象>

这是为了方便而提供的重载成员函数。它与上面的函数的区别仅在于它接受的参数。

参数
node用作创建的文件节点的初始化的文件节点。

◆ FileNode() [4/4]

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

成员函数文档

◆ begin()

FileNodeIterator cv::FileNode::begin ( ) const

返回指向第一个节点元素的迭代器

示例
samples/cpp/filestorage.cpp.

◆ empty()

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

如果节点为空,则返回 true

示例
samples/cpp/filestorage.cpp.

◆ end()

FileNodeIterator cv::FileNode::end ( ) const

返回指向最后一个节点元素后面的元素的迭代器

示例
samples/cpp/filestorage.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 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 *  value,
int  len = -1 
)

在读取 FileStorage 时使用的内部方法。设置先前创建节点的类型(int、real 或 string)和值。

◆ 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/filestorage.cpp.

成员数据文档

◆ blockIdx

size_t cv::FileNode::blockIdx

◆ fs

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

◆ ofs

size_t cv::FileNode::ofs

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