C ++ Преобразование изображения в целочисленный массив
-
27-09-2019 - |
Вопрос
Как бы я пошел по преобразованию пикселей в изображении (.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, но другие библиотеки должны быть похожими.
Другие советы
Если вы не делаете это для интереса и обучения, я бы порекомендовал, чтобы вы использовали третью сторону библиотеку, например, Воображение.
Это сэкономит ваше время (и избегать ошибок)
Не связан с StackOverflow