MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


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



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™