cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageExtrema2(mlib_s32 *min, mlib_s32 *max, const mlib_image *img, mlib_s32 xStart, mlib_s32 yStart, mlib_s32 xPeriod, mlib_s32 yPeriod);
mlib_status mlib_ImageExtrema2_Fp(mlib_d64 *min, mlib_d64 *max, const mlib_image *img, mlib_s32 xStart, mlib_s32 yStart, mlib_s32 xPeriod, mlib_s32 yPeriod);
Each of the functions determines the extrema values for each channel in an image, possibly with subsampling.
It uses the following equation:
min[i] = MIN{ img[x][y][i] } max[i] = MAX{ img[x][y][i] }
where
x = xStart + p*xPeriod; 0 ≤ p < (w - xStart)/xPeriod y = yStart + q*yPeriod; 0 ≤ q < (h - yStart)/yPeriod
Each of the functions takes the following arguments:
Pointer to minimum vector, where length is the number of channels in the image. min[i] contains the minimum of channel i.
Pointer to maximum vector, where length is the number of channels in the image. max[i] contains the maximum of channel i.
Pointer to a source image.
Initial X sample coordinate.
Initial Y sample coordinate.
X sample rate. xPeriod ≥ 1.
Y sample rate. yPeriod ≥ 1.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageExtremaLocations(3MLIB), mlib_ImageMaximum(3MLIB), mlib_ImageMaximum_Fp(3MLIB), mlib_ImageMinimum(3MLIB), mlib_ImageMinimum_Fp(3MLIB), attributes(5)