【发布时间】:2017-03-05 09:34:46
【问题描述】:
我想读出灰度图像的像素值。使用 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;
现在我想加载一个颜色空间为 GRAY 的图像(png),我想我可以简单地将 SOIL_LOAD_RGB 更改为 SOIL_LOAD_L 但这行不通。
我在控制台上的输出是: 图片尺寸:-237407992 宽度:10 高度:-1312230988
而且它不是恒定的。只有宽度保持10,每次运行程序时高度都在变化。
在处理灰度图像时,我有什么需要改变或考虑的吗?
【问题讨论】:
-
语言是 c++。我添加了一个标签