Commit 604d5e54064bfdbe6c0b64ac8d7360c38063de31

Authored by Josh Klontz
1 parent 2253be05

removed initSigma

openbr/plugins/imgproc/custom_sift.cpp
... ... @@ -132,7 +132,7 @@ static inline void unpackOctave(const KeyPoint &kpt, int &octave, int &layer, fl
132 132 scale = octave >= 0 ? 1.f/(1 << octave) : (float)(1 << -octave);
133 133 }
134 134  
135   -static Mat createInitialImage( const Mat& img, bool doubleImageSize, float sigma, float initSigma )
  135 +static Mat createInitialImage( const Mat& img, bool doubleImageSize, float sigma)
136 136 {
137 137 Mat gray, gray_fpt;
138 138 if( img.channels() == 3 || img.channels() == 4 )
... ... @@ -145,7 +145,7 @@ static Mat createInitialImage( const Mat&amp; img, bool doubleImageSize, float sigma
145 145  
146 146 if( doubleImageSize )
147 147 {
148   - sig_diff = sqrtf( std::max(sigma * sigma - initSigma * initSigma * 4, 0.01f) );
  148 + sig_diff = sqrtf( std::max(sigma * sigma, 0.01f) );
149 149 Mat dbl;
150 150 resize(gray_fpt, dbl, Size(gray.cols*2, gray.rows*2), 0, 0, INTER_LINEAR);
151 151 GaussianBlur(dbl, dbl, Size(), sig_diff, sig_diff);
... ... @@ -153,7 +153,7 @@ static Mat createInitialImage( const Mat&amp; img, bool doubleImageSize, float sigma
153 153 }
154 154 else
155 155 {
156   - sig_diff = sqrtf( std::max(sigma * sigma - initSigma * initSigma, 0.01f) );
  156 + sig_diff = sqrtf( std::max(sigma * sigma, 0.01f) );
157 157 GaussianBlur(gray_fpt, gray_fpt, Size(), sig_diff, sig_diff);
158 158 return gray_fpt;
159 159 }
... ... @@ -385,7 +385,7 @@ static int descriptorSize(int bins, int width)
385 385 return width*width*bins;
386 386 }
387 387  
388   -static void extractSIFT(const Mat &image, vector<KeyPoint> &keypoints, Mat &descriptors, int nOctaveLayers, double sigma, int bins, int width, float initSigma)
  388 +static void extractSIFT(const Mat &image, vector<KeyPoint> &keypoints, Mat &descriptors, int nOctaveLayers, double sigma, int bins, int width)
389 389 {
390 390 if( image.empty() || image.depth() != CV_8U )
391 391 CV_Error( CV_StsBadArg, "image is empty or has incorrect depth (!=CV_8U)" );
... ... @@ -404,7 +404,7 @@ static void extractSIFT(const Mat &amp;image, vector&lt;KeyPoint&gt; &amp;keypoints, Mat &amp;desc
404 404 CV_Assert( firstOctave >= -1 && actualNLayers <= nOctaveLayers );
405 405 actualNOctaves = maxOctave - firstOctave + 1;
406 406  
407   - const Mat base = createInitialImage(image, firstOctave < 0, (float)sigma, initSigma);
  407 + const Mat base = createInitialImage(image, firstOctave < 0, (float)sigma);
408 408 const int nOctaves = actualNOctaves > 0 ? actualNOctaves : cvRound(log( (double)std::min( base.cols, base.rows ) ) / log(2.) - 2) - firstOctave;
409 409  
410 410 vector<Mat> gpyr, dogpyr;
... ... @@ -432,12 +432,10 @@ class CustomSIFTTransform : public UntrainableTransform
432 432 Q_PROPERTY(QList<int> sizes READ get_sizes WRITE set_sizes RESET reset_sizes STORED false)
433 433 Q_PROPERTY(int bins READ get_bins WRITE set_bins RESET reset_bins STORED false)
434 434 Q_PROPERTY(int width READ get_width WRITE set_width RESET reset_width STORED false)
435   - Q_PROPERTY(float initSigma READ get_initSigma WRITE set_initSigma RESET reset_initSigma STORED false)
436 435 BR_PROPERTY(int, size, 1)
437 436 BR_PROPERTY(QList<int>, sizes, QList<int>())
438 437 BR_PROPERTY(int, bins, 8)
439 438 BR_PROPERTY(int, width, 4)
440   - BR_PROPERTY(float, initSigma, 0.5f)
441 439  
442 440 void init()
443 441 {
... ... @@ -453,7 +451,7 @@ class CustomSIFTTransform : public UntrainableTransform
453 451 keyPoints.push_back(KeyPoint(val.x(), val.y(), sz));
454 452  
455 453 Mat m;
456   - extractSIFT(src, keyPoints, m, 3, 1.6f, bins, width, initSigma);
  454 + extractSIFT(src, keyPoints, m, 3, 1.6f, bins, width);
457 455 m.setTo(0, m<0); // SIFT returns large negative values when it goes off the edge of the image.
458 456 dst += m;
459 457 }
... ...