void QOrbDescriptorExtractor::initialize(const QVariantMap &params){
    int patchSize = 32;
    if ( params.contains("patchSize") )
        patchSize = params["patchSize"].toInt();

    initializeExtractor(
        new cv::ORB(500, 1.2f, 8, 31, 0, 2, cv::ORB::HARRIS_SCORE, patchSize)
    );

}
void QFreakDescriptorExtractor::initialize(const QVariantMap &params){
    bool orientationNormalized = true;
    bool scaleNormalized       = true;
    float patternScale         = 22.0f;
    int nOctaves               = 4;

    if ( params.contains("orientationNormalized") )
        orientationNormalized = params["orientationNormalized"].toBool();
    if ( params.contains("scaleNormalized") )
        scaleNormalized = params["scaleNormalized"].toBool();
    if ( params.contains("patternScale") )
        patternScale = params["patternScale"].toFloat();
    if ( params.contains("nOctaves") )
        nOctaves = params["nOctaves"].toInt();

    initializeExtractor(new cv::FREAK(orientationNormalized, scaleNormalized, patternScale, nOctaves));
}
void QBriefDescriptorExtractor::initialize(int bytes){
    initializeExtractor(new cv::BriefDescriptorExtractor(bytes));
}
void QBriskDescriptorExtractor::initialize(const QVariantMap &){
    initializeExtractor(new cv::BRISK);
}