Совсем не в состоянии понять концепцию хранения пиксельных данных в массиве - PullRequest
0 голосов
/ 07 мая 2018

(Задание, которое уже было отправлено) То, что я сдал, даже не скомпилировалось. Это не для очков, это просто для понимания (загляните в срок), но я смог выполнить оставшуюся часть задания, так как не мог понять, как сохранить данные пикселей относительно высоты / ширины. Я буквально потратил последние 5 часов пытаясь понять это, но это просто не щелкает.

Как сохранить значения RGB для отдельных пикселей. Когда изображение читается, как я могу сказать программе @ height 1, width 1, прочитать что green = 200, blue = ..., red = ....? Также, если кто-то знает, на что ссылается maxVal, это будет полезно

typdef struct
{
        unsigned char green;
        unsigned char blue;
        unsigned char red;
}pixelD;

typedef struct
{       
        pixelD * pixel;
} Color;



imageData


Image * ReadImage(char *filename)
{
//* items were added by instructor. I dont see how the magicNum array 
     would be useful here 
/* These lines are useful:
 * char magicNum[128];    
 * int width, height, maxval;    
   int imgSize = (width * height * sizeof(pixel)); 
 * fscanf(f_in,  "%s\n%d %d\n%d\n", magicNum, &width, &height, &maxval);
   pixel = malloc(imgSize); 
   fread()????? this is supposedly the key? 

Назначение: вы начнете манипулирование изображениями 1) Напишите структуру для хранения изображения.

== 2.1 Структура изображения == Ваша структура Image будет нуждаться в ширине, высоте и буфере для хранения данных изображения. Как
мы обсуждали в классе, данные изображения представляют собой двумерный массив данных пикселей. Пиксель содержит 3 знака без знака: один для красного, один для зеленого и один для синего. Есть несколько способов
хранить эти данные, и все они правильны

1 Ответ

0 голосов
/ 08 мая 2018

Вам необходимо выполнить следующие шаги:

  1. Считать высоту и ширину
  2. Рассчитать размер буфера, в котором будут сохраняться данные
  3. Выделитьпространство для буфера
  4. Считайте данные и поместите их в буфер.

Комментарии в ReadImage помогут вам в большинстве случаев решить эту проблему.Просто приведите их в порядок и определите имена переменных.

...