Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mlib_imagesubsampleaverage(3mlib) [opensolaris man page]

mlib_ImageSubsampleAverage(3MLIB)			    mediaLib Library Functions				 mlib_ImageSubsampleAverage(3MLIB)

NAME
mlib_ImageSubsampleAverage, mlib_ImageSubsampleAverage_Fp - subsamples an image with a box filter SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageSubsampleAverage(mlib_image *dst, const mlib_image *src, mlib_d64 xscale, mlib_d64 yscale); mlib_status mlib_ImageSubsampleAverage_Fp(mlib_image *dst, const mlib_image *src, mlib_d64 xscale, mlib_d64 yscale); DESCRIPTION
Each function scales an image down with an adaptive box filter. The subsampling algorithm performs the scaling operation by averaging all the pixel values from a block in the source image that correspond to the destination pixel. The width and height of the source block for a destination pixel are computed as: blockX = (int)ceil(1.0/xscale); blockY = (int)ceil(1.0/yscale); If we denote a pixel's location in an image by its column number and row number (both counted from 0), the destination pixel at (i, j) is backward mapped to the source block whose upper-left corner pixel is at (xValues[i], yValues[j]), where xValues[i] = (int)(i/xscale + 0.5); yValues[j] = (int)(j/yscale + 0.5); The width and height of the filled area in the destination are restricted by dstW = (int)(srcWidth * xscale); dstH = (int)(srcHeight * yscale); where srcWidth and srcHeight are width and height of the source image. Since the block size in source is defined from scale factors with roundup, some blocks (the rightmost and the bottommost blocks) may over- run the border of the source image by 1 pixel. In this case, such blocks are moved by 1 pixel to left/up direction in order to be inside of the source image. PARAMETERS
The function takes the following arguments: dst Pointer to destination image. src Pointer to source image. xscale X scale factor. 0.0 < xscale <= 1.0. yscale Y scale factor. 0.0 < yscale <= 1.0. 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_ImageSubsampleBinaryToGray(3MLIB), mlib_ImageFilteredSubsample(3MLIB), mlib_ImageZoomTranslate(3MLIB), mlib_ImageZoomTrans- late_Fp(3MLIB), attributes(5) SunOS 5.11 2 Mar 2007 mlib_ImageSubsampleAverage(3MLIB)

Check Out this Related Man Page

mlib_ImageSubsampleAverage(3MLIB)			    mediaLib Library Functions				 mlib_ImageSubsampleAverage(3MLIB)

NAME
mlib_ImageSubsampleAverage, mlib_ImageSubsampleAverage_Fp - subsamples an image with a box filter SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageSubsampleAverage(mlib_image *dst, const mlib_image *src, mlib_d64 xscale, mlib_d64 yscale); mlib_status mlib_ImageSubsampleAverage_Fp(mlib_image *dst, const mlib_image *src, mlib_d64 xscale, mlib_d64 yscale); DESCRIPTION
Each function scales an image down with an adaptive box filter. The subsampling algorithm performs the scaling operation by averaging all the pixel values from a block in the source image that correspond to the destination pixel. The width and height of the source block for a destination pixel are computed as: blockX = (int)ceil(1.0/xscale); blockY = (int)ceil(1.0/yscale); If we denote a pixel's location in an image by its column number and row number (both counted from 0), the destination pixel at (i, j) is backward mapped to the source block whose upper-left corner pixel is at (xValues[i], yValues[j]), where xValues[i] = (int)(i/xscale + 0.5); yValues[j] = (int)(j/yscale + 0.5); The width and height of the filled area in the destination are restricted by dstW = (int)(srcWidth * xscale); dstH = (int)(srcHeight * yscale); where srcWidth and srcHeight are width and height of the source image. Since the block size in source is defined from scale factors with roundup, some blocks (the rightmost and the bottommost blocks) may over- run the border of the source image by 1 pixel. In this case, such blocks are moved by 1 pixel to left/up direction in order to be inside of the source image. PARAMETERS
The function takes the following arguments: dst Pointer to destination image. src Pointer to source image. xscale X scale factor. 0.0 < xscale <= 1.0. yscale Y scale factor. 0.0 < yscale <= 1.0. 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_ImageSubsampleBinaryToGray(3MLIB), mlib_ImageFilteredSubsample(3MLIB), mlib_ImageZoomTranslate(3MLIB), mlib_ImageZoomTrans- late_Fp(3MLIB), attributes(5) SunOS 5.11 2 Mar 2007 mlib_ImageSubsampleAverage(3MLIB)
Man Page