|
|
|
@ -461,7 +461,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in |
|
|
|
|
_dst.create( src.size(), CV_32FC1 ); |
|
|
|
|
Mat dst = _dst.getMat(); |
|
|
|
|
|
|
|
|
|
#ifdef HAVE_IPP |
|
|
|
|
#if defined(HAVE_IPP) && (IPP_VERSION_MAJOR >= 8) |
|
|
|
|
typedef IppStatus (CV_STDCALL * ippiMinEigenValGetBufferSize)(IppiSize, int, int, int*); |
|
|
|
|
typedef IppStatus (CV_STDCALL * ippiMinEigenVal)(const void*, int, Ipp32f*, int, IppiSize, IppiKernelType, int, int, Ipp8u*); |
|
|
|
|
|
|
|
|
@ -494,9 +494,11 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in |
|
|
|
|
{ |
|
|
|
|
Ipp8u* buffer = ippsMalloc_8u(bufferSize); |
|
|
|
|
ok = minEigenValFunc(src.data, (int) src.step, (Ipp32f*) dst.data, (int) dst.step, srcRoi, kerType, ksize, blockSize, buffer); |
|
|
|
|
CV_SUPPRESS_DEPRECATED_START |
|
|
|
|
if (ok >= 0) ippiMulC_32f_C1IR(norm_coef, (Ipp32f*) dst.data, (int) dst.step, dstRoi); |
|
|
|
|
CV_SUPPRESS_DEPRECATED_END |
|
|
|
|
ippsFree(buffer); |
|
|
|
|
if (ok >= 0)
|
|
|
|
|
if (ok >= 0) |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -505,7 +507,6 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in |
|
|
|
|
cornerEigenValsVecs( src, dst, blockSize, ksize, MINEIGENVAL, 0, borderType ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void cv::cornerHarris( InputArray _src, OutputArray _dst, int blockSize, int ksize, double k, int borderType ) |
|
|
|
|
{ |
|
|
|
|
CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(), |
|
|
|
|