Чтобы получить цвет пикселя из входного изображения: img, из вызова функции, скажем: void read_image(const char* img)
, следуйте приведенному ниже фрагменту кода.
Вот фрагмент кода для вышеуказанной функции read_image:
FREE_IMAGE_FORMAT fif = FreeImage_GetFIFFromFilename(img);
FIBITMAP *bmp = FreeImage_Load(fif, img);
unsigned width = FreeImage_GetWidth(bmp);
unsigned height = FreeImage_GetHeight(bmp);
int bpp = FreeImage_GetBPP(bmp);
FIBITMAP* bitmap = FreeImage_Allocate(width, height, bpp);
RGBQUAD color; FreeImage_GetPixelColor(bitmap, x, y, &color);
переменная color
будет содержать цвет пикселя изображения. Вы можете извлечь значения RGB следующим образом:
float r,g,b;
r = color.rgbRed;
g = color.rgbGreen;
b = color.rgbBlue;
Надеюсь, это поможет!