freeimage.h

FreeImage_ConvertToStandardType

1 4 8 16 24 32 16UINT16 32FLOAT 64DOUBLE 16INT16 32UINT32/INT32 2x64COMPLEX

DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToStandardType(FIBITMAP *src, BOOL
scale_linear FI_DEFAULT(TRUE));

Convierte una imagen no estándar cuyo tipo de color es FIC_MINISBLACK a una imagen en escala de grises estándar de 8-bit (ver Tabla 9 para las conversiones permitidas). Cuando el parámetro scale_linear es TRUE, la conversión se reliza escalando linealmente cada valor de pixel de [min, max] a un valor entero entre [0..255], donde min y max son los valores de pixel mínimo y máximo en la imagen. Cuando scale_linear es FALSE, la conversión se realiza mediante el redondeo del valor de cada pixel a un entero entre [0..255]. El redondeo se hace usando la siguiente fórmula:

dst_pixel = (BYTE) MIN(255, MAX(0, q))

donde int q = int(src_pixel + 0.5);

La función retorna la imagen convertida en escala de grises de 8-bit. Para imágenes estándar, se devuelve un clon de la imagen de entrada.

Para imágenes complejas, la magnitud es extraída como una imagen doble y después convertida de acuerdo al parámetro scale.