OpenCV FileStorage を使用して、次のようなマップを yaml ファイルに保存しています。
cv::FileStorage fs("file.yaml.gz", cv::FileStorage::WRITE);
std::string somekey = ...;
double someval = ...;
fs << "mymap" << "{:" << somekey << someval << "}";
さて、データを取り戻したいのですが、マップのキーがわかりません。コードは次のようになるはずです。
cv::FileStorage fs("file.yaml.gz", cv::FileStorage::READ);
cv::FileNode fn = fs["mymap"];
// fn has type == cv::FileNode::MAP
// fn has size == 1 element (one pair)
// fn[0] returns also a MAP with 1 element
キーなしでそのマップのすべてのペアを取得することは可能ですか? を確認しましたcv::FileNodeIterator
が、この問題は解決していないようです。C インターフェイス ではCvFileNode
、キーを提供した直後に値を取得できます。