Загрузка с помощью простой библиотеки изображений opengl (SOIL) изображения (цветовое пространство: СЕРЫЙ)
Я хочу зачитать значения пикселей в градациях серого. С изображениями RGB у меня нет проблем. Код просто:
int width, height;
unsigned char* image = SOIL_load_image(filepath.c_str(), &width, &height, 0, SOIL_LOAD_RGB);
std::cout << "size of image : " << size << " width: " << width << " height: " << height << std::endl;
Теперь я хочу загрузить изображение (png) с цветовым пространством GREY, я подумал, что могу просто изменить SOIL_LOAD_RGB на SOIL_LOAD_L, но это не сработает.
Мой вывод на консоли: размер изображения: -237407992 ширина: 10 высота: -1312230988
И это не постоянно. Только ширина остается 10, и высота меняется каждый раз, когда я запускаю программу.
Что-то, что я должен изменить или рассмотреть, работая с серыми изображениями?
1 ответ
Вы должны изменить третий параметр с "0" на "& канал", как это
unsigned char *image = SOIL_load_image(filepath.c_str(), &width, &height, &channel, SOIL_LOAD_L);