Как создать матрицу дескриптора в OpenCV

Как создать дескриптор в OpenCV, который можно использовать с одним из DescriptorMatchers в OpenCV, следующим образом.

cv::BFMatcher matcher( cv::NORM_L2, false );
std::vector< cv::DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );

У меня уже есть следующий класс дескриптора. Как мне преобразовать или создать новую матрицу, которую можно использовать с DescriptorMatcher. Желательно BFMatcher.

class Descriptor
{
public:
float lxi, lyi; // Location of descriptor
vector<double> feature;

Descriptor()
{
}

Descriptor(float x, float y, vector<double> const& f)
{
lxi = x;
lyi = y;
feature = f;
}
};

0

Решение

Я просто захожу сюда, когда ищу ответы на один и тот же вопрос.
Но вскоре я обнаружил, что ответ так прост, все, что вам нужно, это сделать коврик.

Например, ниже приведен некоторый дескриптор SIFT-LIKE.

cv::Mat descriptors_1(nQueries, dimemsion, CV_32F,(void*)pQueries);
cv::Mat descriptors_2(m_nDataSets, dimemsion, CV_32F,(void*)m_pData);

cv::FlannBasedMatcher matcher;
std::vector< cv::DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]