将2D阵列写入PGM灰度图像

时间:2016-11-13 23:07:45

标签: c++ arrays pointers 2d pgm

我正在创建各种尺寸从100x100到2000x2000元素的2D数组。阵列中的值可以被限制为0 - 255灰度级,然后需要写入PGM图像以便可视地表示数据。

例如,我将数组全局声明为:

element case1[100][100];

元素是double pixelValue的结构和布尔值(在实际写入文件时不会使用,但在程序中是必需的)。

在写入PGM图像时,在写入标题后,我在考虑代码区域FILE *fp时遇到错误:

int *p 
for (int x = 0; x < dimension; x++)
{
    for (int y = 0; y < dimension; y++)
    { //also doesn't work as: fp << (unsigned char)case1[x][y].pix; 
        int pix = case1[x][y].pixelValue; 
        *p = pix; 
        fp << (unsigned char)*p; 
    }
}
fclose(fp);

我不确定如何使用指针以便从2D阵列中的每个位置获取pixelValue。我需要能够遍历每个pixelValue以获得数据的可视化表示。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

使用fputc()代替我,以便我可以直接插入值而不是使用指针。