Преобразование мата в ключевую точку?

Я пишу дескрипторы (вывод SurfDescriptorExtractor) и ключевые точки (вывод SurfFeatureDetector) в файл XML. Перед записью ключевых точек (std :: vector) выполняется преобразование в Mat (следующее:конвертировать ключевые точки в мат или сохранять их в текстовый файл opencv ). Для дескрипторов это не обязательно, это уже Mat. Так что оба сохраняются как Mat, проблем с чтением тоже нет. Но при использовании FlannBasedMatcher, а затем drawMatches этот метод запрашивает данные ключевой точки.

Вопрос в том, как бы вы конвертировали Mat в вектор Keypoint, и какой подход был бы наилучшим?