Записать 2D массив в изображение в градациях серого PGM

Я создаю различные 2D массивы размером от 100×100 до 2000×2000 элементов. Значения в массивах могут быть ограничены серой шкалой от 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);

Я не уверен, как работать с указателем, чтобы получить pixelValue из каждого места в массиве 2D. Мне нужно иметь возможность перебирать каждый pixelValue чтобы получить визуальное представление данных.

Спасибо за помощь!

0

Решение

Используемый fputc() вместо этого, чтобы я мог напрямую вставлять значения вместо использования указателей.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]