NAME
Image::Leptonica::Func::pixacc
VERSION
version 0.04
pixacc.c
 pixacc.c
    Pixacc creation, destruction
         PIXACC   *pixaccCreate()
         PIXACC   *pixaccCreateFromPix()
         void      pixaccDestroy()
    Pixacc finalization
         PIX      *pixaccFinal()
    Pixacc accessors
         PIX      *pixaccGetPix()
         l_int32   pixaccGetOffset()
    Pixacc accumulators
         l_int32   pixaccAdd()
         l_int32   pixaccSubtract()
         l_int32   pixaccMultConst()
         l_int32   pixaccMultConstAccumulate()
This is a simple interface for some of the pixel arithmetic operations
in pixarith.c.  These are easy to code up, but not as fast as
hand-coded functions that do arithmetic on corresponding pixels.
Suppose you want to make a linear combination of pix1 and pix2:
   pixd = 0.4 * pix1 + 0.6 * pix2
where pix1 and pix2 are the same size and have depth 'd'.  Then:
   Pixacc *pacc = pixaccCreateFromPix(pix1, 0);  // first; addition only
   pixaccMultConst(pacc, 0.4);
   pixaccMultConstAccumulate(pacc, pix2, 0.6);  // Add in 0.6 of the second
   pixd = pixaccFinal(pacc, d);  // Get the result
   pixaccDestroy(&pacc);
FUNCTIONS
pixaccAdd
l_int32 pixaccAdd ( PIXACC *pixacc, PIX *pix )
pixaccAdd()
    Input:  pixacc
            pix (to be added)
    Return: 0 if OK, 1 on error
pixaccCreate
PIXACC * pixaccCreate ( l_int32 w, l_int32 h, l_int32 negflag )
pixaccCreate()
    Input:  w, h (of 32 bpp internal Pix)
            negflag (0 if only positive numbers are involved;
                     1 if there will be negative numbers)
    Return: pixacc, or null on error
Notes:
    (1) Use @negflag = 1 for safety if any negative numbers are going
        to be used in the chain of operations.  Negative numbers
        arise, e.g., by subtracting a pix, or by adding a pix
        that has been pre-multiplied by a negative number.
    (2) Initializes the internal 32 bpp pix, similarly to the
        initialization in pixInitAccumulate().
pixaccCreateFromPix
PIXACC * pixaccCreateFromPix ( PIX *pix, l_int32 negflag )
pixaccCreateFromPix()
    Input:  pix
            negflag (0 if only positive numbers are involved;
                     1 if there will be negative numbers)
    Return: pixacc, or null on error
Notes:
    (1) See pixaccCreate()
pixaccDestroy
void pixaccDestroy ( PIXACC **ppixacc )
pixaccDestroy()
    Input:  &pixacc (<can be null>)
    Return: void
Notes:
    (1) Always nulls the input ptr.
pixaccFinal
PIX * pixaccFinal ( PIXACC *pixacc, l_int32 outdepth )
pixaccFinal()
    Input:  pixacc
            outdepth (8, 16 or 32 bpp)
    Return: pixd (8 , 16 or 32 bpp), or null on error
pixaccGetOffset
l_int32 pixaccGetOffset ( PIXACC *pixacc )
pixaccGetOffset()
    Input:  pixacc
    Return: offset, or -1 on error
pixaccGetPix
PIX * pixaccGetPix ( PIXACC *pixacc )
pixaccGetPix()
    Input:  pixacc
    Return: pix, or null on error
pixaccMultConst
l_int32 pixaccMultConst ( PIXACC *pixacc, l_float32 factor )
pixaccMultConst()
    Input:  pixacc
            factor
    Return: 0 if OK, 1 on error
pixaccMultConstAccumulate
l_int32 pixaccMultConstAccumulate ( PIXACC *pixacc, PIX *pix, l_float32 factor )
pixaccMultConstAccumulate()
    Input:  pixacc
            pix
            factor
    Return: 0 if OK, 1 on error
Notes:
    (1) This creates a temp pix that is @pix multiplied by the
        constant @factor.  It then adds that into @pixacc.
pixaccSubtract
l_int32 pixaccSubtract ( PIXACC *pixacc, PIX *pix )
pixaccSubtract()
    Input:  pixacc
            pix (to be subtracted)
    Return: 0 if OK, 1 on error
AUTHOR
Zakariyya Mughal <zmughal@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Zakariyya Mughal.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.