Commit 6123e891 authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

Merge pull request #247 from cbalint13/daisy

Bugfix Normalization / Enhance "float/double" mode queries for DAISY.
parents d4f651ea cef5666f
...@@ -519,8 +519,7 @@ static void normalize_sift_way( float* desc, const int _descriptor_size ) ...@@ -519,8 +519,7 @@ static void normalize_sift_way( float* desc, const int _descriptor_size )
double sum = 0.0f; double sum = 0.0f;
for( int i=0; i<_descriptor_size; i++ ) for( int i=0; i<_descriptor_size; i++ )
{ {
sum += desc[_descriptor_size + i] sum += desc[i] * desc[i];
* desc[_descriptor_size + i];
} }
float norm = (float)sqrt( sum ); float norm = (float)sqrt( sum );
...@@ -529,7 +528,7 @@ static void normalize_sift_way( float* desc, const int _descriptor_size ) ...@@ -529,7 +528,7 @@ static void normalize_sift_way( float* desc, const int _descriptor_size )
// divide with norm // divide with norm
for( int i=0; i<_descriptor_size; i++ ) for( int i=0; i<_descriptor_size; i++ )
{ {
desc[_descriptor_size + i] /= norm; desc[i] /= norm;
} }
for( h=0; h<_descriptor_size; h++ ) for( h=0; h<_descriptor_size; h++ )
...@@ -549,8 +548,7 @@ static void normalize_full( float* desc, const int _descriptor_size ) ...@@ -549,8 +548,7 @@ static void normalize_full( float* desc, const int _descriptor_size )
double sum = 0.0f; double sum = 0.0f;
for( int i=0; i<_descriptor_size; i++ ) for( int i=0; i<_descriptor_size; i++ )
{ {
sum += desc[_descriptor_size + i] sum += desc[i] * desc[i];
* desc[_descriptor_size + i];
} }
float norm = (float)sqrt( sum ); float norm = (float)sqrt( sum );
...@@ -559,7 +557,7 @@ static void normalize_full( float* desc, const int _descriptor_size ) ...@@ -559,7 +557,7 @@ static void normalize_full( float* desc, const int _descriptor_size )
// divide with norm // divide with norm
for( int i=0; i<_descriptor_size; i++ ) for( int i=0; i<_descriptor_size; i++ )
{ {
desc[_descriptor_size + i] /= norm; desc[i] /= norm;
} }
} }
...@@ -1547,8 +1545,6 @@ void DAISY_Impl::compute( InputArray _image, Rect roi, OutputArray _descriptors ...@@ -1547,8 +1545,6 @@ void DAISY_Impl::compute( InputArray _image, Rect roi, OutputArray _descriptors
// compute full desc // compute full desc
compute_descriptors( &descriptors ); compute_descriptors( &descriptors );
normalize_descriptors( &descriptors ); normalize_descriptors( &descriptors );
release_auxiliary();
} }
// full scope // full scope
...@@ -1576,8 +1572,6 @@ void DAISY_Impl::compute( InputArray _image, OutputArray _descriptors ) ...@@ -1576,8 +1572,6 @@ void DAISY_Impl::compute( InputArray _image, OutputArray _descriptors )
// compute full desc // compute full desc
compute_descriptors( &descriptors ); compute_descriptors( &descriptors );
normalize_descriptors( &descriptors ); normalize_descriptors( &descriptors );
release_auxiliary();
} }
// constructor // constructor
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment