GridAdaptedFeature.patch

Thibault Lelore, 2012-05-02 10:56 am

Download (2 kB)

 
modules/features2d/include/opencv2/features2d/features2d.hpp (working copy)
508 508
     * gridRows            Grid rows count.
509 509
     * gridCols            Grid column count.
510 510
     */
511
    CV_WRAP GridAdaptedFeatureDetector( const Ptr<FeatureDetector>& detector,
511
    CV_WRAP GridAdaptedFeatureDetector( const Ptr<FeatureDetector>& detector = 0,
512 512
                                        int maxTotalKeypoints=1000,
513 513
                                        int gridRows=4, int gridCols=4 );
514 514
    
515 515
    // TODO implement read/write
516 516
    virtual bool empty() const;
517 517

  
518
    AlgorithmInfo* info() const;
519

  
518 520
protected:
519 521
    virtual void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const;
520 522

  
modules/features2d/src/features2d_init.cpp (working copy)
248 248
    return &dense_info;
249 249
}    
250 250

  
251
static Algorithm* createGridAdapted() { return new GridAdaptedFeatureDetector; }
252
static AlgorithmInfo grid_adapted_info("Feature2D.Grid", createGridAdapted);
253

  
254
AlgorithmInfo* GridAdaptedFeatureDetector::info() const
255
{
256
    static volatile bool initialized = false;
257
    if( !initialized )
258
    {
259
        GridAdaptedFeatureDetector obj;
260
        grid_adapted_info.addParam(obj, "detector", (Ptr<Algorithm>&) obj.detector);
261
        grid_adapted_info.addParam(obj, "maxTotalKeypoints", obj.maxTotalKeypoints);
262
        grid_adapted_info.addParam(obj, "gridRows", obj.gridRows);
263
        grid_adapted_info.addParam(obj, "gridCols", obj.gridCols);
264

  
265
        initialized = true;
266
    }
267
    return &grid_adapted_info;
268
}
269

  
251 270
bool initModule_features2d(void)
252 271
{
253 272
    Ptr<Algorithm> brief = createBRIEF(), orb = createORB(),