mediaLib Library Functions mlibImageSubsampleAverage(3MLIB)
NAME
mlibImageSubsampleAverage, mlibImageSubsampleAverageFp -
subsamples an image with a box filter
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibImageSubsampleAverage(mlibimage *dst,
const mlibimage *src, mlibd64 xscale, mlibd64 yscale);
mlibstatus mlibImageSubsampleAverageFp(mlibimage *dst,
const mlibimage *src, mlibd64 xscale, mlibd64 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);
SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlibImageSubsampleAverage(3MLIB)
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 overrun 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 MLIBSUCES if successful. Otherwise
it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibImageSubsampleBinaryToGray(3MLIB),
mlibImageFilteredSubsample(3MLIB),
mlibImageZoomTranslate(3MLIB),
mlibImageZoomTranslateFp(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 2
|