From 400572b19f01ebda905c828c6ed43d61156c4de7 Mon Sep 17 00:00:00 2001 From: whuaegeansea Date: Wed, 1 Feb 2023 01:34:22 +0800 Subject: [PATCH] Fix bug --- modules/features2d/src/sift.simd.hpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/features2d/src/sift.simd.hpp b/modules/features2d/src/sift.simd.hpp index d2fe0bb429..70f773b7bd 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 } -- GitLab