Читать Bmp Greyscales в C - PullRequest
       17

Читать Bmp Greyscales в C

1 голос
/ 18 марта 2011

Я искал, как прочитать Bmp-файл в двухмерный или одномерный массив под C, есть много решений, но не то, которое мне нужно. Мне нужно прочитать черно-белый BMP в (для начала) 2-мерный массив, который должен содержать значения от 0 до 255 (оттенки серого) а затем преобразовать его в одномерный массив (но это не проблема). Matlab делает это автоматически, но я хочу быть более автономным, работая под C / C ++ в конце bmp должен быть сохранен в массиве Postgre Database int. Спасибо

Ответы [ 2 ]

0 голосов
/ 18 марта 2011

Есть загрузчик bmp, который я сделал для другого SO вопроса:
http://nishi.dreamhosters.com/u/so_bmp_v0.zip
Пример bmp - это RGB, но, похоже, он работает и с оттенками серого.

точечный рисунок здесь указатель на таблицу пикселей (хотя для правильного доступа должен быть оставлен без знака).Обратите внимание, что строки пикселей в bmp могут храниться в обратном порядке.

0 голосов
/ 18 марта 2011

Извините, неверно прочитанный вопрос: /
Если вы не возражаете, немного подкрутить правила

#include <stdio.h>

int main(void) {
  int data[100][30] = {{0}}; /* initialize 2D array to all zeroes */
  int *p1d;
  size_t index;

  data[42][20] = 42; /* set 1 element ot 42 */
  p1d = &data[0][0];
  index = 42*30 + 20;
  printf("%d (should be 42)\n", p1d[index]); /* pretend it's a 1D array */
  return 0;
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...