由于图像处理用到Matlab的一些算法,得到一些数组数据(三维重构的深度数据)。
在VC中使用OpenGL画图,需要使用这些数据(深度数据)做显示用。
在Matlab下使用语句:csvwrite(‘depthMap‘,depthMap);
//后面的depthMap是数组变量,前面的depthMap是csv文件名。
函数ReadCsv是读取csv文件(二维数组)到指定变量depthMap。
变量的定义:
double depthMap[240][320] = {0}; //深度图
调用函数:
//读取csv文件:深度图depthMap.csv
ReadCsv(depthMap);
//调用函数读取CSV文件中的数据
void ReadCsv(double depthMap[][320]) { FILE* fd; errno_t err = fopen_s(&fd, "depthMap","r"); if( err ) printf_s( "The file depthMap.csv was not opened\n" ); else { // Set pointer to beginning of file: //fseek( fd, 0L, SEEK_SET ); int i = 0; while (i < 240) { int j = 0; double a = 0; while (j < 319) { fscanf(fd, "%lf,", &a); depthMap[i][j] = a; ++ j; } fscanf(fd, "%lf\n", &a); depthMap[i][j] = a; ++ i; } } fclose(fd); }
时间: 2024-10-14 03:15:05