OpenCV 4.5.3(日本語機械翻訳)
|
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ファイルストレージクラスで,ファイルへのデータの書き込みやファイルからのデータの読み込みに必要な情報をすべてカプセル化しています。
ファイル保存モード
列挙値 | |
---|---|
読み込み |
値を指定すると,ファイルを読み込みのために開きます |
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の両方を有効にする |
CV_WRAP cv::FileStorage::FileStorage | ( | ) |
コンストラクタには
フルコンストラクタは、ファイルを開きます。あるいは、デフォルトのコンストラクタを使用して、次のように呼び出します。FileStorage::open.
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::FileStorage::CV_WRAP_AS | ( | getNode | ) | const |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
|
static |
指定されたファイル名に対する正規化されたオブジェクト名を返します。
filename | ファイルの名前 |
CV_WRAP FileNode cv::FileStorage::getFirstTopLevelNode | ( | ) | const |
トップレベルのマッピングの最初の要素を返します。
CV_WRAP int cv::FileStorage::getFormat | ( | ) | const |
現在のフォーマットを返します。
|
virtual |
ファイルが開かれているかどうかをチェックします。
|
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ビットのエンコーディングを使用する必要があります。 |
FileNode cv::FileStorage::operator[] | ( | const String & | nodename | ) | const |
|
virtual |
ファイルを閉じ、すべてのメモリバッファを解放します。
このメソッドは、ストレージに対するすべての I/O 操作が終了した後に呼び出します。
|
virtual |
ファイルを閉じ、すべてのメモリバッファを解放します。
ストレージに対するすべての I/O 操作が終了した後に、このメソッドを呼び出します。ストレージがデータの書き込み用にオープンされていてFileStorage::WRITEが指定されていた場合
CV_WRAP FileNode cv::FileStorage::root | ( | int |
streamidx
=
0
|
) | const |
トップレベルのマッピングを返します。
streamidx | ストリームのゼロベースのインデックス。ほとんどの場合、ファイルには1つのストリームしかありません。しかし、YAMLは複数のストリームをサポートしているため、複数のストリームが存在することもあります。 |
CV_WRAP void cv::FileStorage::startWriteStruct | ( | const String & | name, |
int | flags, | ||
const String & |
typeName
=
String() |
||
) |
入れ子構造(シーケンスまたはマッピング)の記述を開始します。
name | 構造体の名前を指定します。シーケンス(別名「配列」)に書き込む場合は,空の文字列を渡します。 |
flags | 構造体の型 (FileNode::MAPまたはFileNode::SEQ(どちらもオプションでFileNode::FLOW)). |
typeName | オプションで,格納する型の名前を指定します。これを設定した場合の効果は,保存形式に依存します。つまり、そのフォーマットに型情報を格納する仕様がある場合は、このパラメータが使用されます。 |
CV_WRAP void cv::FileStorage::write | ( | const String & | name, |
int | val | ||
) |
バインディングで使用する簡易書き込みAPI。
name | 書き込まれるオブジェクトの名前。シーケンス (別名「配列」) に書き込む場合は、空の文字列を渡します。 |
val | 書き込まれたオブジェクトの値です。 |
CV_WRAP void cv::FileStorage::writeComment | ( | const String & | comment, |
bool |
append
=
false |
||
) |
コメントを書き込みます。
この関数は,ファイルストレージにコメントを書き込みます。ストレージが読み込まれると,コメントは読み飛ばされます。
comment | 書き込まれたコメントは,単一行または複数行です。 |
append | true の場合,この関数はコメントを現在の行の最後に置こうとします。そうでない場合、コメントが複数行の場合、またはコメントが現在の行の終わりに収まらない場合、コメントは新しい行を開始します。 |
void cv::FileStorage::writeRaw | ( | const String & | fmt, |
const void * | vec, | ||
size_t | len | ||
) |
複数の数字を書き込む。
現在書き込まれている構造体に、指定された形式の1つまたは複数の数値を書き込みます。通常は演算子を使った方が便利です。<<
を使った方が便利です。
fmt | 各配列要素の指定についてはformat specification |
vec | 書き込まれる配列へのポインタ. |
len | 書き込みを行うuchar要素の数。 |