我正在使用从图像计算SIFT描述符的代码。我必须处理视频中的每一帧,并存储每个计算出的描述符的序列。对于每个图像,描述符由两个数组组成:
Frames = (double*)realloc(Frames, 4 * sizeof(double)* nframes);
Descr = (vl_uint8*)realloc(Descr, 128 * sizeof(vl_uint8)* nframes);
如何将这两个数组的序列保存在文件中,然后从文件中恢复这些数据(对于视频的每一帧)?
最佳答案
您可以使用ofstream写入文件。下面的代码可能无法直接解决问题,它应指向正确的方向。
#include <fstream>
#include <iterator>
#include <algorithm>
void writeDescriptors() {
std::ofstream output( "C:\\descriptors.txt", std::ios::binary );
for ( int i = 1 ; i < Frames.size(); i++ )
{
out << ", " << Frames[i];
}
}
为了读回描述符,只需使用ifstream并反转算法
关于c++ - 如何在文件中保存/读取数据数组(C++),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28175464/