文件存储 Node 类。 更多...
#include <opencv2/core/persistence.hpp>
|
枚举 | {
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
} |
| 文件存储节点的类型 更多...
|
|
文件存储 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 对象> |
这是为了方便而提供的重载成员函数。它与上面的函数的区别仅在于它接受的参数。
- 参数
-
◆ FileNode() [4/4]
cv::FileNode::FileNode |
( |
FileStorage::Impl * |
fs, |
|
|
size_t |
blockIdx, |
|
|
size_t |
ofs |
|
) |
| |
Python |
---|
| cv.FileNode( | | ) -> | <FileNode 对象> |
◆ begin()
◆ empty()
bool cv::FileNode::empty |
( |
| ) |
const |
Python |
---|
| cv.FileNode.empty( | | ) -> | retval |
◆ end()
◆ 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 |
◆ isMap() [1/2]
bool cv::FileNode::isMap |
( |
| ) |
const |
Python |
---|
| cv.FileNode.isMap( | | ) -> | retval |
◆ 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 |
◆ isNone()
bool cv::FileNode::isNone |
( |
| ) |
const |
Python |
---|
| cv.FileNode.isNone( | | ) -> | retval |
◆ isReal()
bool cv::FileNode::isReal |
( |
| ) |
const |
Python |
---|
| cv.FileNode.isReal( | | ) -> | retval |
◆ isSeq() [1/2]
bool cv::FileNode::isSeq |
( |
| ) |
const |
Python |
---|
| cv.FileNode.isSeq( | | ) -> | retval |
◆ 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 |
◆ keys()
std::vector< String > cv::FileNode::keys |
( |
| ) |
const |
Python |
---|
| cv.FileNode.keys( | | ) -> | retval |
◆ mat()
Mat cv::FileNode::mat |
( |
| ) |
const |
Python |
---|
| cv.FileNode.mat( | | ) -> | retval |
◆ name()
std::string cv::FileNode::name |
( |
| ) |
const |
Python |
---|
| cv.FileNode.name( | | ) -> | retval |
◆ operator double()
cv::FileNode::operator double |
( |
| ) |
const |
◆ operator float()
cv::FileNode::operator float |
( |
| ) |
const |
◆ operator std::string()
cv::FileNode::operator std::string |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ operator[]() [1/3]
FileNode cv::FileNode::operator[] |
( |
const char * |
nodename | ) |
const |
Python |
---|
| cv.FileNode.at( | i | ) -> | retval |
| cv.FileNode.getNode( | nodename | ) -> | retval |
这是为了方便而提供的重载成员函数。它与上面的函数的区别仅在于它接受的参数。
- 参数
-
◆ operator[]() [2/3]
Python |
---|
| cv.FileNode.at( | i | ) -> | retval |
| cv.FileNode.getNode( | nodename | ) -> | retval |
返回映射节点或序列节点的元素。
- 参数
-
- 返回值
- 返回具有给定标识符的元素。
◆ operator[]() [3/3]
FileNode cv::FileNode::operator[] |
( |
int |
i | ) |
const |
Python |
---|
| cv.FileNode.at( | i | ) -> | retval |
| cv.FileNode.getNode( | nodename | ) -> | retval |
这是为了方便而提供的重载成员函数。它与上面的函数的区别仅在于它接受的参数。
- 参数
-
◆ 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 |
◆ 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 |
◆ 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()
Python |
---|
| cv.FileNode.string( | | ) -> | retval |
◆ type()
int cv::FileNode::type |
( |
| ) |
const |
Python |
---|
| cv.FileNode.type( | | ) -> | retval |
◆ blockIdx
size_t cv::FileNode::blockIdx |
◆ fs
FileStorage::Impl* cv::FileNode::fs |
◆ ofs
此类的文档是从以下文件生成的