OpenCV453
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 関連関数 | 全メンバ一覧
cv::FileStorage クラス

XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or reading data to/from a file. [詳解]

#include <persistence.hpp>

公開型

enum  Mode {
  READ = 0 , WRITE = 1 , APPEND = 2 , MEMORY = 4 ,
  FORMAT_MASK = (7<<3) , FORMAT_AUTO = 0 , FORMAT_XML = (1<<3) , FORMAT_YAML = (2<<3) ,
  FORMAT_JSON = (3<<3) , BASE64 = 64 , WRITE_BASE64 = BASE64 | WRITE
}
 file storage mode [詳解]
 
enum  State { UNDEFINED = 0 , VALUE_EXPECTED = 1 , NAME_EXPECTED = 2 , INSIDE_MAP = 4 }
 

公開メンバ関数

CV_WRAP FileStorage ()
 The constructors. [詳解]
 
CV_WRAP FileStorage (const String &filename, int flags, const String &encoding=String())
 Opens a file. [詳解]
 
virtual ~FileStorage ()
 the destructor. calls release()
 
virtual CV_WRAP bool open (const String &filename, int flags, const String &encoding=String())
 Opens a file. [詳解]
 
virtual CV_WRAP bool isOpened () const
 Checks whether the file is opened. [詳解]
 
virtual CV_WRAP void release ()
 Closes the file and releases all the memory buffers. [詳解]
 
virtual CV_WRAP String releaseAndGetString ()
 Closes the file and releases all the memory buffers. [詳解]
 
CV_WRAP FileNode getFirstTopLevelNode () const
 Returns the first element of the top-level mapping. [詳解]
 
CV_WRAP FileNode root (int streamidx=0) const
 Returns the top-level mapping [詳解]
 
FileNode operator[] (const String &nodename) const
 Returns the specified element of the top-level mapping. [詳解]
 
 CV_WRAP_AS (getNode) FileNode operator[](const char *nodename) const
 
CV_WRAP void write (const String &name, int val)
 Simplified writing API to use with bindings. [詳解]
 
CV_WRAP void write (const String &name, double val)
 これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
 
CV_WRAP void write (const String &name, const String &val)
 これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
 
CV_WRAP void write (const String &name, const Mat &val)
 これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
 
CV_WRAP void write (const String &name, const std::vector< String > &val)
 これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
 
void writeRaw (const String &fmt, const void *vec, size_t len)
 Writes multiple numbers. [詳解]
 
CV_WRAP void writeComment (const String &comment, bool append=false)
 Writes a comment. [詳解]
 
CV_WRAP void startWriteStruct (const String &name, int flags, const String &typeName=String())
 Starts to write a nested structure (sequence or a mapping). [詳解]
 
CV_WRAP void endWriteStruct ()
 Finishes writing nested structure (should pair startWriteStruct())
 
CV_WRAP int getFormat () const
 Returns the current format. [詳解]
 

静的公開メンバ関数

static String getDefaultObjectName (const String &filename)
 Returns the normalized object name for the specified name of a file. [詳解]
 

公開変数類

int state
 
std::string elname
 
Ptr< Impl > p
 

関連関数

(これらはメソッドではありません)

CV_EXPORTS FileStorageoperator<< (FileStorage &fs, const String &str)
 Writes string to a file storage.
 
CV_EXPORTS void write (FileStorage &fs, const String &name, int value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, float value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, double value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, const String &value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, const Mat &value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, const SparseMat &value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, const std::vector< KeyPoint > &value)
 
CV_EXPORTS void write (FileStorage &fs, const String &name, const std::vector< DMatch > &value)
 
CV_EXPORTS void writeScalar (FileStorage &fs, int value)
 
CV_EXPORTS void writeScalar (FileStorage &fs, float value)
 
CV_EXPORTS void writeScalar (FileStorage &fs, double value)
 
CV_EXPORTS void writeScalar (FileStorage &fs, const String &value)
 
template<typename _Tp >
static void write (FileStorage &fs, const _Tp &value)
 
template<>
void write (FileStorage &fs, const int &value)
 
template<>
void write (FileStorage &fs, const float &value)
 
template<>
void write (FileStorage &fs, const double &value)
 
template<>
void write (FileStorage &fs, const String &value)
 
template<typename _Tp >
static void write (FileStorage &fs, const Point_< _Tp > &pt)
 
template<typename _Tp >
static void write (FileStorage &fs, const Point3_< _Tp > &pt)
 
template<typename _Tp >
static void write (FileStorage &fs, const Size_< _Tp > &sz)
 
template<typename _Tp >
static void write (FileStorage &fs, const Complex< _Tp > &c)
 
template<typename _Tp >
static void write (FileStorage &fs, const Rect_< _Tp > &r)
 
template<typename _Tp , int cn>
static void write (FileStorage &fs, const Vec< _Tp, cn > &v)
 
template<typename _Tp , int m, int n>
static void write (FileStorage &fs, const Matx< _Tp, m, n > &x)
 
template<typename _Tp >
static void write (FileStorage &fs, const Scalar_< _Tp > &s)
 
static void write (FileStorage &fs, const Range &r)
 
template<typename _Tp >
static void write (FileStorage &fs, const std::vector< _Tp > &vec)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Point_< _Tp > &pt)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Point3_< _Tp > &pt)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Size_< _Tp > &sz)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Complex< _Tp > &c)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Rect_< _Tp > &r)
 
template<typename _Tp , int cn>
static void write (FileStorage &fs, const String &name, const Vec< _Tp, cn > &v)
 
template<typename _Tp , int m, int n>
static void write (FileStorage &fs, const String &name, const Matx< _Tp, m, n > &x)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const Scalar_< _Tp > &s)
 
static void write (FileStorage &fs, const String &name, const Range &r)
 
static void write (FileStorage &fs, const String &name, const KeyPoint &kpt)
 
static void write (FileStorage &fs, const String &name, const DMatch &m)
 
template<typename _Tp , typename std::enable_if< std::is_enum< _Tp >::value >::type * = nullptr>
static void write (FileStorage &fs, const String &name, const _Tp &val)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const std::vector< _Tp > &vec)
 
template<typename _Tp >
static void write (FileStorage &fs, const String &name, const std::vector< std::vector< _Tp > > &vec)
 
static void write (FileStorage &fs, const KeyPoint &kpt)
 
static void write (FileStorage &fs, const DMatch &m)
 
static void write (FileStorage &fs, const std::vector< KeyPoint > &vec)
 
static void write (FileStorage &fs, const std::vector< DMatch > &vec)
 
template<typename _Tp >
static FileStorageoperator<< (FileStorage &fs, const _Tp &value)
 Writes data to a file storage.
 
static FileStorageoperator<< (FileStorage &fs, const char *str)
 Writes data to a file storage.
 
static FileStorageoperator<< (FileStorage &fs, char *value)
 Writes data to a file storage.
 

詳解

XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or reading data to/from a file.

列挙型メンバ詳解

◆ Mode

file storage mode

列挙値
READ 

value, open the file for reading

WRITE 

value, open the file for writing

APPEND 

value, open the file for appending

MEMORY 

returned by FileStorage::release)

flag, read data from source or write data to the internal buffer (which is

FORMAT_MASK 

mask for format flags

FORMAT_AUTO 

flag, auto format

FORMAT_XML 

flag, XML format

FORMAT_YAML 

flag, YAML format

FORMAT_JSON 

flag, JSON format

BASE64 

flag, write rawdata in Base64 by default. (consider using WRITE_BASE64)

WRITE_BASE64 

flag, enable both WRITE and BASE64

構築子と解体子

◆ FileStorage() [1/2]

CV_WRAP cv::FileStorage::FileStorage ( )

The constructors.

The full constructor opens the file. Alternatively you can use the default constructor and then call FileStorage::open.

◆ FileStorage() [2/2]

CV_WRAP cv::FileStorage::FileStorage ( const String &  filename,
int  flags,
const String &  encoding = String() 
)

Opens a file.

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 See description of parameters in FileStorage::FileStorage. The method calls FileStorage::release before opening the file.

引数
filenameName of the file to open or the text string to read the data from. Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON respectively). Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. mydata.xml, .yml etc.). A file name can also contain parameters. You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), as an alternative to FileStorage::BASE64 flag.
flagsMode of operation. One of FileStorage::Mode
encodingEncoding of the file. Note that UTF-16 XML encoding is not supported currently and you should use 8-bit encoding instead of it.

関数詳解

◆ CV_WRAP_AS()

cv::FileStorage::CV_WRAP_AS ( getNode  ) const

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

◆ getDefaultObjectName()

static String cv::FileStorage::getDefaultObjectName ( const String &  filename)
static

Returns the normalized object name for the specified name of a file.

引数
filenameName of a file
戻り値
The normalized object name.

◆ getFirstTopLevelNode()

CV_WRAP FileNode cv::FileStorage::getFirstTopLevelNode ( ) const

Returns the first element of the top-level mapping.

戻り値
The first element of the top-level mapping.

◆ getFormat()

CV_WRAP int cv::FileStorage::getFormat ( ) const

Returns the current format.

戻り値
The current format, see FileStorage::Mode

◆ isOpened()

virtual CV_WRAP bool cv::FileStorage::isOpened ( ) const
virtual

Checks whether the file is opened.

戻り値
true if the object is associated with the current file and false otherwise. It is a good practice to call this method after you tried to open a file.

◆ open()

virtual CV_WRAP bool cv::FileStorage::open ( const String &  filename,
int  flags,
const String &  encoding = String() 
)
virtual

Opens a file.

See description of parameters in FileStorage::FileStorage. The method calls FileStorage::release before opening the file.

引数
filenameName of the file to open or the text string to read the data from. Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON respectively). Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. mydata.xml, .yml etc.). A file name can also contain parameters. You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), as an alternative to FileStorage::BASE64 flag.
flagsMode of operation. One of FileStorage::Mode
encodingEncoding of the file. Note that UTF-16 XML encoding is not supported currently and you should use 8-bit encoding instead of it.

◆ operator[]()

FileNode cv::FileStorage::operator[] ( const String &  nodename) const

Returns the specified element of the top-level mapping.

引数
nodenameName of the file node.
戻り値
Node with the given name.

◆ release()

virtual CV_WRAP void cv::FileStorage::release ( )
virtual

Closes the file and releases all the memory buffers.

Call this method after all I/O operations with the storage are finished.

◆ releaseAndGetString()

virtual CV_WRAP String cv::FileStorage::releaseAndGetString ( )
virtual

Closes the file and releases all the memory buffers.

Call this method after all I/O operations with the storage are finished. If the storage was opened for writing data and FileStorage::WRITE was specified

◆ root()

CV_WRAP FileNode cv::FileStorage::root ( int  streamidx = 0) const

Returns the top-level mapping

引数
streamidxZero-based index of the stream. In most cases there is only one stream in the file. However, YAML supports multiple streams and so there can be several.
戻り値
The top-level mapping.

◆ startWriteStruct()

CV_WRAP void cv::FileStorage::startWriteStruct ( const String &  name,
int  flags,
const String &  typeName = String() 
)

Starts to write a nested structure (sequence or a mapping).

引数
namename of the structure. When writing to sequences (a.k.a. "arrays"), pass an empty string.
flagstype of the structure (FileNode::MAP or FileNode::SEQ (both with optional FileNode::FLOW)).
typeNameoptional name of the type you store. The effect of setting this depends on the storage format. I.e. if the format has a specification for storing type information, this parameter is used.

◆ write()

CV_WRAP void cv::FileStorage::write ( const String &  name,
int  val 
)

Simplified writing API to use with bindings.

引数
nameName of the written object. When writing to sequences (a.k.a. "arrays"), pass an empty string.
valValue of the written object.

◆ writeComment()

CV_WRAP void cv::FileStorage::writeComment ( const String &  comment,
bool  append = false 
)

Writes a comment.

The function writes a comment into file storage. The comments are skipped when the storage is read.

引数
commentThe written comment, single-line or multi-line
appendIf true, the function tries to put the comment at the end of current line. Else if the comment is multi-line, or if it does not fit at the end of the current line, the comment starts a new line.

◆ writeRaw()

void cv::FileStorage::writeRaw ( const String &  fmt,
const void *  vec,
size_t  len 
)

Writes multiple numbers.

Writes one or more numbers of the specified format to the currently written structure. Usually it is more convenient to use operator << instead of this method.

引数
fmtSpecification of each array element, see format specification
vecPointer to the written array.
lenNumber of the uchar elements to write.

このクラス詳解は次のファイルから抽出されました: