Выходной сигнал обнаружения особенностей является std::vector<cv::KeyPoint>
, где каждый Keypoint содержит:
Point2f pt
: координаты характерной точки
float size
: диаметр значимого Keypoint окрестности
float angle
: вычислено ориентации keypoint (-1, если не применимо). Его возможные значения находятся в диапазоне [0,360) градусов. Он измеряется относительно системы координат изображения (ось y направлена вниз), то есть по часовой стрелке.
float response
: ответ, по которому были выбраны самые сильные ключевые точки. Может быть использован для дальнейшей сортировки или подвыборок
int octave
: октава (пирамиды слой), из которого Keypoint было добыт
int class_id
: идентификатор объекта, который может быть использован для сгруппированных ключевых точек объекта они принадлежат
Спасибо, я новый новичок OPENCV. Я думал, что они включены в файл MAT. – neouyghur
какой файл MAT? [Здесь] (http://docs.opencv.org/trunk/doc/tutorials/features2d/feature_detection/feature_detection.html#feature-detection) - это учебник по обнаружению признаков, он читает два изображения на два 'cv :: Mat 's ', обнаруживает над ними точки функций и, наконец, рисует точки над изображениями. С помощью флажков 'DRAW_RICH_KEYPOINTS' (в' drawKeypoints() ') для каждой ключевой точки будет нарисован круг вокруг ключевой точки с размером и ориентацией точки. – Kornel
@Kornel Спасибо за ваше четкое объяснение. Могу ли я спросить, что именно представляет «class_id». Если у меня есть изображение истины на землю для проблемы семантической сегментации, и если я извлекаю функции SIFT, если ключевой момент находится внутри определенной области объекта, можно ли присвоить метку объекта этой ключевой точке через 'class_id'? –