0

いくつかの変数を使用して保存したときの出力ファイルFileStorageは、9MB の yaml ファイルです。ファイルを圧縮するには、ファイル名に「.gz」を追加するだけでよいことがわかりました。結果のファイルは 3.5MB です。それは大丈夫です。しかし、filestorage を使用して myfile.yaml.gz ファイルを開いて APPEND しようとすると、未処理の例外が発生します。OpenCVがこれをサポートしているかどうか知っていますか? はいの場合、ファイルをどのように読み取る必要がありますか? そうでない場合、ファイルを簡単に圧縮/解凍するための提案はありますか?

サンプルコードは次のとおりです。

std::vector<int> myArray;
myArray.push_back(0); myArray.push_back(1);
FileStorage fs("myFile.yaml.gz", FileStorage::WRITE);
fs << "myArrayName" << myArray;
fs.release();

myArray.clear();

fs = FileStorage("myFile.yaml.gz", FileStorage::APPEND);
fs << "intValue" << 3;
fs.release();

fs = FileStorage("myFile.yaml.gz", FileStorage::READ);
fs["myArrayName"] >> myArray;
fs.release();
4

0 に答える 0