我在(opencv开源)中提取了SIFT特征,并将它们提取为关键点。现在,我想将它们转换为矩阵(带有它们的 x,y 坐标)或将它们保存在文本文件中......
在这里,您可以看到用于提取关键点的示例代码,现在我想知道如何将它们转换为 MAT 或将它们保存为 txt、xml 或 yaml...
cv::SiftFeatureDetector detector;
std::vector<cv::KeyPoint> keypoints;
detector.detect(input, keypoints);
转换为 cv::Mat 如下。
std::vector<cv::KeyPoint> keypoints;
std::vector<cv::Point2f> points;
std::vector<cv::KeyPoint>::iterator it;
for( it= keypoints.begin(); it!= keypoints.end();it++)
{
points.push_back(it->pt);
}
cv::Mat pointmatrix(points);
写入文件存储是
cv::FileStorage fs("test.yml", cv::FileStorage::WRITE);
cv::FileStorage fs2("test2.xml", cv::FileStorage::WRITE);
detector.write(fs);
detector.write(fs2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)