bool FeatureAlgorithm::extractFeatures(const cv::Mat& image, Keypoints& kp, Descriptors& desc) const { assert(!image.empty()); if (featureEngine) { (*featureEngine)(image, cv::noArray(), kp, desc); } else { detector->detect(image, kp); if (kp.empty()) return false; extractor->compute(image, kp, desc); } return kp.size() > 0; }