有没有办法将vector<Point2f> 转换为vector<Keypoint>?

Posted

技术标签:

【中文标题】有没有办法将vector<Point2f> 转换为vector<Keypoint>?【英文标题】:Is there any way to convert vector<Point2f> to vector<Keypoint>? 【发布时间】:2018-06-19 12:27:00 【问题描述】:

我可以看到我们可以通过以下方法将Keypoints 从Points 转换为:

vector<Point2f> points1; 
KeyPoint::convert(keypoints1, points1);

如果有人能建议我将vector&lt;Point2f&gt; 转换为vector&lt;Keypoint&gt;,我会很好?

【问题讨论】:

【参考方案1】:

根据this link,只需:

为每个点创建一个新的Keypoint,大小为1

std::vector<cv::Keypoint> keypoints;
for( size_t i = 0; i < inputs.size(); i++ ) 
   keypoints.push_back(cv::Keypoint(inputs[i], 1.f));

【讨论】:

太棒了!我不知道我怎么错过了这个链接 [answers.opencv.org/question/24623/….

以上是关于有没有办法将vector<Point2f> 转换为vector<Keypoint>?的主要内容,如果未能解决你的问题,请参考以下文章

从 Vector<point2f> 创建 Mat 断言失败错误

直接减去两个vector<point2f>

Mat 或 vector<Point2f> 哪种类型更适合与函数 estimateRigidTransform() 一起使用?

Algorithm参数记录

将openCV矩阵转换为向量

Opencv学习笔记之——画出两帧的特征点之间的对应关系