C ++ Преобразование изображения в целочисленный массив

StackOverflow https://stackoverflow.com/questions/2659779

Вопрос

Как бы я пошел по преобразованию пикселей в изображении (.png файл) в целочисленное значение, где каждый пиксель преобразуется в свой integer integer? Ни до 2D целочисленного массива кстати, 1D-один (где доступ проходит через массив [ROW * ширина + Col]).

Спасибо.

Это было полезно?

Решение

После того, как вы будете читать данные изображения в какой-то буфер, обычный актерс должен сделать трюк:

GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ("image.png", NULL);
unsigned char *pixels = gdk_pixbuf_get_pixels (pixbuf);
int *array = reinterpret_cast<int*>(pixels);

Пример использует библиотеку GDKPIXBUF, но другие библиотеки должны быть похожими.

Другие советы

Если вы не делаете это для интереса и обучения, я бы порекомендовал, чтобы вы использовали третью сторону библиотеку, например, Воображение.
Это сэкономит ваше время (и избегать ошибок)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top