mlib_ImageNormCrossCorrel man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

mlib_ImageNormCrossCorrel(mediaLib Library Funmlib_ImageNormCrossCorrel(3MLIB)

NAME
       mlib_ImageNormCrossCorrel - normalized cross correlation

SYNOPSIS
       cc [ flag... ] file... -lmlib [ library... ]
       #include <mlib.h>

       mlib_status mlib_ImageNormCrossCorrel(mlib_d64 *correl,
	   const mlib_image *img1, const mlib_image *img2, const mlib_d64 *mean2,
	   const mlib_d64 *sdev2);

DESCRIPTION
       The mlib_ImageNormCrossCorrel() function computes the normalized cross-
       correlation coefficients between a pair of  images,  on	a  per-channel
       basis.

       It uses the following equations:

			w-1 h-1
		       SUM SUM (d1[x][y][i] * d2[x][y][i])
		       x=0 y=0
	  correl[i] = -------------------------------------
				 s1[i] * s2[i]

	 d1[x][y][i] = img1[x][y][i] - m1[i]

	 d2[x][y][i] = img2[x][y][i] - m2[i]

			1     w-1 h-1
	      m1[i] = ----- * SUM SUM img1[x][y][i]
		       w*h    x=0 y=0

			1     w-1 h-1
	      m2[i] = ----- * SUM SUM img2[x][y][i]
		       w*h    x=0 y=0

			    w-1 h-1
	      s1[i] = sqrt{ SUM SUM (img1[x][y][i] - m1[i])**2 }
			    x=0 y=0

			    w-1 h-1
	      s2[i] = sqrt{ SUM SUM (img2[x][y][i] - m2[i])**2 }
			    x=0 y=0

       where  w and h are the width and height of the images, respectively; m1
       and m2 are the mean arrays of the  first	 and  second  images,  respec‐
       tively;	s1  and	 s2 are the un-normalized standard deviation arrays of
       the first and second images, respectively.

       In usual cases, the normalized cross-correlation coefficient is in  the
       range  of  [-1.0,  1.0].	  In the case of (s1[i] == 0) or (s2[i] == 0),
       where a constant image channel is involved, the normalized cross-corre‐
       lation coefficient is defined as follows:

	     #define signof(x) ((x > 0) ? 1 : ((x < 0) ? -1 : 0))

	    if ((s1[i] == 0.) || (s2[i] == 0.)) {
		if ((s1[i] == 0.) && (s2[i] == 0.)) {
		   if (signof(m1[i]) == signof(m2[i]) {
		       correl[i] = 1.0;
		   } else {
		       correl[i] = -1.0;
		   }
		} else {
		    correl[i] = -1.0;
		}
	    }

       The  two	 images	 must  have the same type, the same size, and the same
       number of channels. They can have 1, 2, 3 or 4 channels. They can be of
       type MLIB_BYTE, MLIB_SHORT, MLIB_USHORT or MLIB_INT.

       If (mean2 == NULL) or (sdev2 == NULL), then m2 and s2 are calculated in
       this function according to the formulas shown above.   Otherwise,  they
       are calculated as follows:

	     m2[i] = mean2[i];
	    s2[i] = sdev2[i] * sqrt(w*h);

       where  mean2  and  sdev2	 can  be  the  output  of mlib_ImageMean() and
       mlib_ImageStdDev(), respectively.

PARAMETERS
       The function takes the following arguments:

       correl	 Pointer to normalized cross correlation array	on  a  channel
		 basis.	 The array must be the size of channels in the images.
		 correl[i] contains the cross-correlation of channel i.

       img1	 Pointer to first image.

       img2	 Pointer to second image.

       mean2	 Pointer to the mean array of the second image.

       sdev2	 Pointer to the standard deviation array of the second image.

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_ImageAutoCorrel(3MLIB),	       mlib_ImageAutoCorrel_Fp(3MLIB),
       mlib_ImageCrossCorrel(3MLIB),	      mlib_ImageCrossCorrel_Fp(3MLIB),
       mlib_ImageNormCrossCorrel_Fp(3MLIB), attributes(5)

SunOS 5.10			  2 Mar 2007  mlib_ImageNormCrossCorrel(3MLIB)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net