opencv on mbed

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

FileStorage Class Reference

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

#include <persistence.hpp>

Public Types

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)
}
 

file storage mode

More...

Public Member Functions

CV_WRAP FileStorage ()
 The constructors.
CV_WRAP FileStorage (const String &source, int flags, const String &encoding=String())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 FileStorage (CvFileStorage *fs, bool owning=true)
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 FileNode operator[] (const char *nodename) const
CvFileStorageoperator* ()
 Returns the obsolete C FileStorage structure.
const CvFileStorageoperator* () const
void writeRaw (const String &fmt, const uchar *vec, size_t len)
 Writes multiple numbers.
void writeObj (const String &name, const void *obj)
 Writes the registered C structure (CvMat, CvMatND, CvSeq).

Static Public Member Functions

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

Data Fields

Ptr< CvFileStoragefs
 the underlying C FileStorage structure
String elname
 the currently written element
std::vector< char > structs
 the stack of written structures
int state
 the writer state

Related Functions

(Note that these are not member functions.)


CV_EXPORTS FileStorageoperator<< (FileStorage &fs, const String &str)
 Writes string to a file storage.
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.

Detailed Description

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

Definition at line 298 of file persistence.hpp.


Member Enumeration Documentation

enum Mode

file storage mode

Enumerator:
READ 

value, open the file for reading

WRITE 

value, open the file for writing

APPEND 

value, open the file for appending

MEMORY 

flag, read data from source or write data to the internal buffer (which is returned by FileStorage::release)

FORMAT_MASK 

mask for format flags

FORMAT_AUTO 

flag, auto format

FORMAT_XML 

flag, XML format

FORMAT_YAML 

flag, YAML format

Definition at line 302 of file persistence.hpp.


Constructor & Destructor Documentation

CV_WRAP FileStorage (  )

The constructors.

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

CV_WRAP FileStorage ( const String &  source,
int  flags,
const String &  encoding = String() 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
sourceName of the file to open or the text string to read the data from. Extension of the file (.xml or .yml/.yaml) determines its format (XML or YAML 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.).
flagsMode of operation. See 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.
FileStorage ( CvFileStorage fs,
bool  owning = true 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

virtual ~FileStorage (  ) [virtual]

the destructor. calls release()


Member Function Documentation

static String getDefaultObjectName ( const String &  filename ) [static]

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

Parameters:
filenameName of a file
Returns:
The normalized object name.
CV_WRAP FileNode getFirstTopLevelNode (  ) const

Returns the first element of the top-level mapping.

Returns:
The first element of the top-level mapping.
virtual CV_WRAP bool isOpened (  ) const [virtual]

Checks whether the file is opened.

Returns:
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.
virtual CV_WRAP bool 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.

Parameters:
filenameName of the file to open or the text string to read the data from. Extension of the file (.xml or .yml/.yaml) determines its format (XML or YAML 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.).
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.
CvFileStorage* operator* (  )

Returns the obsolete C FileStorage structure.

Returns:
Pointer to the underlying C FileStorage structure

Definition at line 406 of file persistence.hpp.

const CvFileStorage* operator* (  ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 409 of file persistence.hpp.

CV_WRAP FileNode operator[] ( const char *  nodename ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

FileNode operator[] ( const String &  nodename ) const

Returns the specified element of the top-level mapping.

Parameters:
nodenameName of the file node.
Returns:
Node with the given name.
virtual CV_WRAP void release (  ) [virtual]

Closes the file and releases all the memory buffers.

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

virtual CV_WRAP String 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

CV_WRAP FileNode root ( int  streamidx = 0 ) const

Returns the top-level mapping.

Parameters:
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.
Returns:
The top-level mapping.
void writeObj ( const String &  name,
const void *  obj 
)

Writes the registered C structure (CvMat, CvMatND, CvSeq).

Parameters:
nameName of the written object.
objPointer to the object.
See also:
ocvWrite for details.
void writeRaw ( const String &  fmt,
const uchar *  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.

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

Friends And Related Function Documentation

CV_EXPORTS FileStorage & operator<< ( FileStorage fs,
const String &  str 
) [related]

Writes string to a file storage.

static FileStorage & operator<< ( FileStorage fs,
const _Tp &  value 
) [related]

Writes data to a file storage.

Definition at line 1059 of file persistence.hpp.

static FileStorage & operator<< ( FileStorage fs,
const char *  str 
) [related]

Writes data to a file storage.

Definition at line 1074 of file persistence.hpp.

static FileStorage & operator<< ( FileStorage fs,
char *  value 
) [related]

Writes data to a file storage.

Definition at line 1082 of file persistence.hpp.


Field Documentation

String elname

the currently written element

Definition at line 435 of file persistence.hpp.

the underlying C FileStorage structure

Definition at line 434 of file persistence.hpp.

int state

the writer state

Definition at line 437 of file persistence.hpp.

std::vector<char> structs

the stack of written structures

Definition at line 436 of file persistence.hpp.