OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 関連関数 | 全メンバ一覧
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
}
ファイル保存モード[【詳解】(英語]
enum State { UNDEFINED = 0 , VALUE_EXPECTED = 1 , NAME_EXPECTED = 2 , INSIDE_MAP = 4 }

公開メンバ関数

CV_WRAP FileStorage ()
コンストラクタには[【詳解】(英語]
CV_WRAP FileStorage (const String &filename, int flags, const String &encoding=String())
ファイルを開きます。[【詳解】(英語]
virtual ~FileStorage ()
デストラクタの呼び出しrelease()
virtual CV_WRAP bool open (const String &filename, int flags, const String &encoding=String())
ファイルを開きます。[【詳解】(英語]
virtual CV_WRAP bool isOpened () const
ファイルが開かれているかどうかをチェックします。[【詳解】(英語]
virtual CV_WRAP void release ()
ファイルを閉じ、すべてのメモリバッファを解放します。[【詳解】(英語]
virtual CV_WRAP String releaseAndGetString ()
ファイルを閉じ、すべてのメモリバッファを解放します。[【詳解】(英語]
CV_WRAP FileNode getFirstTopLevelNode () const
トップレベルのマッピングの最初の要素を返します。[【詳解】(英語]
CV_WRAP FileNode root (int streamidx=0) const
トップレベルのマッピングを返します。[【詳解】(英語]
FileNode operator[] (const String &nodename) const
トップレベルのマッピングの指定された要素を返します。[【詳解】(英語]
CV_WRAP_AS (getNode) FileNode operator[](const char *nodename) const
CV_WRAP void write (const String &name, int val)
バインディングで使用する簡易書き込みAPI。[【詳解】(英語]
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)
複数の数字を書き込む。[【詳解】(英語]
CV_WRAP void writeComment (const String &comment, bool append=false)
コメントを書き込みます。[【詳解】(英語]
CV_WRAP void startWriteStruct (const String &name, int flags, const String &typeName=String())
入れ子構造(シーケンスまたはマッピング)の記述を開始します。[【詳解】(英語]
CV_WRAP void endWriteStruct ()
ネストされた構造体の書き込みを終了します(ペアでなければなりませんstartWriteStruct())
CV_WRAP int getFormat () const
現在のフォーマットを返します。[【詳解】(英語]

静的公開メンバ関数

static String getDefaultObjectName (const String &filename)
指定されたファイル名に対する正規化されたオブジェクト名を返します。[【詳解】(英語]

公開変数類

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

関連関数

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

CV_EXPORTS FileStorage & operator<< (FileStorage &fs, const String &str)
ファイルストレージに文字列を書き込みます。
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 FileStorage & operator<< (FileStorage &fs, const _Tp &value)
ファイルストレージへのデータの書き込み
static FileStorage & operator<< (FileStorage &fs, const char *str)
ファイルストレージへのデータの書き込み
static FileStorage & operator<< (FileStorage &fs, char *value)
ファイルストレージへのデータの書き込み

詳解

XML/YAML/JSONファイルストレージクラスで,ファイルへのデータの書き込みやファイルからのデータの読み込みに必要な情報をすべてカプセル化しています。

列挙型メンバ詳解

Mode

ファイル保存モード

列挙値
読み込み

値を指定すると,ファイルを読み込みのために開きます

WRITE

値、書き込みのためにファイルを開く

追加

値:追記用にファイルをオープン

メモリ

フラグによって返されるFileStorage::release)

フラグは、ソースからのデータの読み込み、または内部バッファへのデータの書き込み(これは

FORMAT_MASK

フォーマットフラグのマスク

FORMAT_AUTO

フラグ、自動フォーマット

FORMAT_XML

フラグ、XML形式

FORMAT_YAML

フラグ、YAML形式

FORMAT_JSON

フラグ:JSON形式

BASE64

フラグ、デフォルトでRawdataをBase64で書き込みます。(WRITE_BASE64の使用を検討してください)

WRITE_BASE64

フラグ、WRITEとBASE64の両方を有効にする

構築子と解体子

FileStorage() [1/2]

CV_WRAP cv::FileStorage::FileStorage ( )

コンストラクタには

フルコンストラクタは、ファイルを開きます。あるいは、デフォルトのコンストラクタを使用して、次のように呼び出します。FileStorage::open.

FileStorage() [2/2]

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

ファイルを開きます。

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。FileStorage::FileStorage. このメソッドは、ファイルを開く前にFileStorage::releaseを呼び出します。

引数
filename 開くファイルの名前,またはデータを読み込むテキスト文字列を指定します。ファイルの拡張子(.xml, .yml/.yaml, .json)は、そのフォーマット(それぞれXML、YAML、JSON)を決定します。また、.gzを付けると、myHugeMatrix.xml.gzのように圧縮ファイルを扱うことができます。両方のFileStorage::WRITEおよびFileStorage::MEMORYフラグが両方とも指定されている場合,source は出力ファイル形式を指定するためだけに使用されます(例:mydata.xml,.yml など).ファイル名には,パラメータを含めることもできます.このフォーマットである「*?base64」(例:「file.json?base64」(大文字小文字を区別する))をFileStorage::BASE64フラグで指定します。
flags 操作のモード。のいずれかです。FileStorage::Mode
encoding ファイルのエンコーディング。なお、UTF-16のXMLエンコーディングは現在サポートされておらず、代わりに8ビットのエンコーディングを使用する必要があります。

関数詳解

CV_WRAP_AS()

cv::FileStorage::CV_WRAP_AS ( getNode ) const

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

getDefaultObjectName()

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

指定されたファイル名に対する正規化されたオブジェクト名を返します。

引数
filename ファイルの名前
戻り値
正規化されたオブジェクト名

getFirstTopLevelNode()

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

トップレベルのマッピングの最初の要素を返します。

戻り値
最上位のマッピングの最初の要素です。

getFormat()

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

現在のフォーマットを返します。

戻り値
現在のフォーマット、参照FileStorage::Mode

isOpened()

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

ファイルが開かれているかどうかをチェックします。

戻り値
オブジェクトが現在のファイルに関連付けられている場合はtrue、そうでない場合はfalseを返します。ファイルを開こうとした後にこのメソッドを呼び出すのは良い習慣です。

open()

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

ファイルを開きます。

のパラメータの説明を参照してください。FileStorage::FileStorage. このメソッドは、ファイルを開く前にFileStorage::releaseを呼び出します。

引数
filename 開くファイルの名前,またはデータを読み込むテキスト文字列を指定します。ファイルの拡張子(.xml, .yml/.yaml, .json)は、そのフォーマット(それぞれXML、YAML、JSON)を決定します。また、.gzを付けると、myHugeMatrix.xml.gzのように圧縮ファイルを扱うことができます。両方のFileStorage::WRITEおよびFileStorage::MEMORYフラグが両方とも指定されている場合,source は出力ファイル形式を指定するためだけに使用されます(例:mydata.xml,.yml など).ファイル名には,パラメータを含めることもできます.このフォーマットである「*?base64」(例:「file.json?base64」(大文字小文字を区別する))をFileStorage::BASE64フラグで指定します。
flags 操作のモード。のいずれかです。FileStorage::Mode
encoding ファイルのエンコーディング。なお、UTF-16のXMLエンコーディングは現在サポートされておらず、代わりに8ビットのエンコーディングを使用する必要があります。

operator[]()

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

トップレベルのマッピングの指定された要素を返します。

引数
nodename ファイルノードの名前。
戻り値
Nodeを指定された名前で返します。

release()

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

ファイルを閉じ、すべてのメモリバッファを解放します。

このメソッドは、ストレージに対するすべての I/O 操作が終了した後に呼び出します。

releaseAndGetString()

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

ファイルを閉じ、すべてのメモリバッファを解放します。

ストレージに対するすべての I/O 操作が終了した後に、このメソッドを呼び出します。ストレージがデータの書き込み用にオープンされていてFileStorage::WRITEが指定されていた場合

root()

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

トップレベルのマッピングを返します。

引数
streamidx ストリームのゼロベースのインデックス。ほとんどの場合、ファイルには1つのストリームしかありません。しかし、YAMLは複数のストリームをサポートしているため、複数のストリームが存在することもあります。
戻り値
トップレベルのマッピングです。

startWriteStruct()

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

入れ子構造(シーケンスまたはマッピング)の記述を開始します。

引数
name 構造体の名前を指定します。シーケンス(別名「配列」)に書き込む場合は,空の文字列を渡します。
flags 構造体の型 (FileNode::MAPまたはFileNode::SEQ(どちらもオプションでFileNode::FLOW)).
typeName オプションで,格納する型の名前を指定します。これを設定した場合の効果は,保存形式に依存します。つまり、そのフォーマットに型情報を格納する仕様がある場合は、このパラメータが使用されます。

write()

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

バインディングで使用する簡易書き込みAPI。

引数
name 書き込まれるオブジェクトの名前。シーケンス (別名「配列」) に書き込む場合は、空の文字列を渡します。
val 書き込まれたオブジェクトの値です。

writeComment()

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

コメントを書き込みます。

この関数は,ファイルストレージにコメントを書き込みます。ストレージが読み込まれると,コメントは読み飛ばされます。

引数
comment 書き込まれたコメントは,単一行または複数行です。
append true の場合,この関数はコメントを現在の行の最後に置こうとします。そうでない場合、コメントが複数行の場合、またはコメントが現在の行の終わりに収まらない場合、コメントは新しい行を開始します。

writeRaw()

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

複数の数字を書き込む。

現在書き込まれている構造体に、指定された形式の1つまたは複数の数値を書き込みます。通常は演算子を使った方が便利です。<<を使った方が便利です。

引数
fmt 各配列要素の指定についてはformat specification
vec 書き込まれる配列へのポインタ.
len 書き込みを行うuchar要素の数。

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