Raises every element of input array to p: dst(I)=src(I)p, if p is integer dst(I)=abs(src(I))p, otherwise That is, for non-integer power exponent the absolute values of input array elements are used. However, it is possible to get true values for negative values using some extra operations, as the following sample, computing cube root of array elements, shows: CvSize size = cvGetSize(src); CvMat* mask = cvCreateMat( size.height, size.width, CV_8UC1 ); cvCmpS( src, 0, mask, CV_CMP_LT ); /* find negative elements */ cvPow( src, dst, 1./3 ); cvSubRS( dst, cvScalarAll(0), dst, mask ); /* negate the results of negative inputs */ cvReleaseMat( &mask ); For some values of power, such as integer values, 0.5 and -0.5, specialized faster algorithms are used.

Namespace: Emgu.CV
Assembly: Emgu.CV (in Emgu.CV.dll) Version: (


public static void cvPow(
	IntPtr src,
	IntPtr dst,
	double power
Visual Basic
Public Shared Sub cvPow ( 
	src As IntPtr,
	dst As IntPtr,
	power As Double
Visual C++
static void cvPow(
	IntPtr src, 
	IntPtr dst, 
	double power
static member cvPow : 
        src : IntPtr * 
        dst : IntPtr * 
        power : float -> unit 


Type: System..::..IntPtr
The source array
Type: System..::..IntPtr
The destination array, should be the same type as the source
Type: System..::..Double
The exponent of power

See Also