diff --git a/modules/features2d/src/sift.simd.hpp b/modules/features2d/src/sift.simd.hpp index d2fe0bb429ba895c8046c7f8cca37c87763e4f01..70f773b7bd8e8837a4f029c4afa4b5bd34c0bfbd 100644 --- a/modules/features2d/src/sift.simd.hpp +++ b/modules/features2d/src/sift.simd.hpp @@ -850,7 +850,6 @@ else // CV_8U #endif } #else - float* dst = dstMat.ptr(row); float nrm1 = 0; for( k = 0; k < len; k++ ) { @@ -858,20 +857,22 @@ else // CV_8U nrm1 += rawDst[k]; } nrm1 = 1.f/std::max(nrm1, FLT_EPSILON); -if( dstMat.type() == CV_32F ) -{ - for( k = 0; k < len; k++ ) + if( dstMat.type() == CV_32F ) { - dst[k] = std::sqrt(rawDst[k] * nrm1); + float *dst = dstMat.ptr(row); + for( k = 0; k < len; k++ ) + { + dst[k] = std::sqrt(rawDst[k] * nrm1); + } } -} -else // CV_8U -{ - for( k = 0; k < len; k++ ) + else // CV_8U { - dst[k] = saturate_cast(std::sqrt(rawDst[k] * nrm1)*SIFT_INT_DESCR_FCTR); + uint8_t *dst = dstMat.ptr(row); + for( k = 0; k < len; k++ ) + { + dst[k] = saturate_cast(std::sqrt(rawDst[k] * nrm1)*SIFT_INT_DESCR_FCTR); + } } -} #endif }