lapZeroCross

[ XITE Reference Manual | XITE home ]

Name

lapZeroCross - find zero crossing of lapacian

Syntax

 #include <xite/convolve.h>

 BiffStatus lapZeroCross( IBAND iband,
    IBAND oband, int a, int b, int c,
    double scale, double offset, int v );

Description

lapZeroCross finds the zero crossing of the laplacian of the input band. The routine starts by calling the laplace operator, followed by calling the crossing routine.

The output is zero where the laplacian has no zero crossing, and proportional to the edge strength where the laplacian has a zero crossing.

The arguments a, b, c, scale, offset and v are as described for the laplace operator. Typical values are a = 0, b = -1, c = 4, scale = 1.0, offset = 127.0.

The whole algorithm is:

 <Calculate laplacian>;
 FOR <every pixel (x,y)>:
 IF <in(x,y) have zero crossing>
   out(x,y) = MAX(ABS(in(x,y)-in(x+1,y)), \\
                  ABS(in(x,y)-in(x,y+1)))
 ELSE
   out(x,y) = 0

Restrictions

iband and oband must have pixel type unsigned byte.

See also

lapZeroCross(1), laplace(3), gradient(3), grad(3), roberts(3), sobel(3), prewitt(3), contour(3), crossing(3)

Return value

 0 => ok
 1 => bad pixel type input band
 2 => bad pixel type output band
 3 => some error in crossing

Author

Tor Lønnestad, BLAB, Ifi, UiO

Id

$Id: lapZeroCross.c,v 1.23 1997/01/16 15:53:29 svein Exp $