[英]loading with simple opengl image library(SOIL) an image(color space: GRAY)
我想讀出灰度圖像的像素值。 使用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,每次運行程序時高度都會改變。
在處理灰度圖像時,我有什么需要改變或考慮的嗎?
您應該將第三個參數從“0”更改為“&channel”,如下所示
unsigned char *image = SOIL_load_image(filepath.c_str(), &width, &height, &channel, SOIL_LOAD_L);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.