我想在C / C ++中读取一个“.dat”文件,并使用“SLIC superpixel”包中的指令,如下所示:
//------------------------------------------------------
int width = 3872;
int height = 2592;
std::vector<int> labels(width*height);
FILE* pf = fopen("../Img5882.dat", "r");
int sz = width*height;
int* vals = new int[sz];
int elread = fread((void*)vals, sizeof(int), sz, pf);
for( int j = 0; j < height; j++ )
{
for( int k = 0; k < width; k++ )
{
int i = j*width+k;
labels[i] = vals[i];
std::cout << labels[i] << "\n";
}
}
delete [] vals;
fclose(pf);
//------------------------------------------------------
DAT文件是一个二进制文件,包含光栅扫描顺序中每个像素的标签(作为32位整数值),没有其他字符(如空格或逗号)。
编译和构建没有问题。但是,在第7行(int elread = ...
)上,发出运行时错误/分段错误。
有人可以帮我吗?