我有一个这样存储的数据文件:
6 字节(3*16 位)标头。- 字节 0+1(16 位):x 维度 - 字节 2+3(16 位):y 维度 - 字节 4+5(16 位):z 维度 then:x,y,z 中的 3D 体积数据命令。每个体素 16 位(2 个字节),这 16 位中仅使用了 12 位。
我想使用 C++ 加载数据并将其存储在一个数组中
那么如何从 .data 文件中加载 2 个字节,我想要实现的算法是
load(String filename)
{
File fp = openfile(filename);
Byte2 sizeX, sizeY, sizeZ;
sizeX = readfile(sizeof(Byte2),fp);
sizeY = readfile(sizeof(Byte2),fp);
sizeZ = readfile(sizeof(Byte2),fp);
UnsignedShort data[sizeX*sizeY*sizeZ];
for(Integer z=0; z < sizeZ; z++) {
for(Integer y=0; y < sizeY; y++) {
for(Integer x=0; x < sizeX; x++) {
data[x+y*sizeX+z*sizeX*sizeY] = readfile(sizeof(Byte2),fp);
}
}
}
}