簡體   English   中英

用簡單的opengl圖像庫(SOIL)加載圖像(顏色空間:灰色)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM