Go to main content

man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2017
 
 

mlib_ImageScale2(3MLIB)

Name

mlib_ImageScale2 - linear scaling

Synopsis

cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageScale2(mlib_image *dst, const mlib_image *src,
     const mlib_d64 *alpha, const mlib_d64 *beta);

Description

The mlib_ImageScale2() function performs a linear scaling on the pixels of the source image by multiplying the data by a scale factor and then adding an offset. Images must have the same size, and number of channels. They can have 1, 2, 3, or 4 channels.

The following equation is used:

dst[x][y][i] = src[x][y][i] * alpha[i] + beta[i]

If the result of the operation underflows/overflows the minimum/maximum value supported by the destination image, then it will be clamped to the minimum/maximum value respectively.

See the following table for available variations of this linear scaling function.

Type [*]
BYTE
SHORT
USHORT
INT
FLOAT
DOUBLE
MLIB_BYTE
Y
Y
Y
Y
Y
Y
MLIB_SHORT
Y
Y
Y
Y
Y
Y
MLIB_USHORT
Y
Y
Y
Y
Y
Y
MLIB_INT
Y
Y
Y
Y
Y
Y

[*] Each row represents a source data type. Each column represents a destination data type.

Parameters

The function takes the following arguments:

dst

Pointer to destination image.

src

Pointer to source image.

alpha

Scaling factor. alpha[i] contains the scaling factor for channel i.

beta

Offset value. beta[i] contains the offset for channel i.

Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See Also

mlib_ImageScale(3MLIB), mlib_ImageScale_Fp(3MLIB), mlib_ImageScale_Fp_Inp(3MLIB), mlib_ImageScale_Inp(3MLIB), mlib_ImageScale2_Inp(3MLIB), attributes(5)