gpt4 book ai didi

c - 如何使用 openCV 保存关键点 vector

转载 作者:太空狗 更新时间:2023-10-29 17:00:47 24 4
gpt4 key购买 nike

我想知道是否可以使用 CvFileStorage 类或 cv::FileStorage 类保存一个 cv::KeyPoints vector 。读回也是同样的过程吗?

谢谢。

最佳答案

我不确定您真正期望的是什么:我为您提供的代码只是一个示例,用于展示文件存储在 OpenCV C++ 绑定(bind)中的工作方式。这里假设您在 XML 文件中分别写入所有关键点,它们的名称是它们在存储它们的 vector 中的位置。

它还假设当您回读它们时,您知道要阅读的数量,如果不知道,代码会稍微复杂一些。你会找到一种方法(例如,如果你阅读文件存储并测试它给你什么,如果它没有给你任何东西,那么这意味着没有更多的阅读意义) - 这只是一个想法,你必须找到解决方案,也许这段代码对你来说就足够了。我应该准确地说,我使用 ostringstream 将整数放入字符串中,顺便更改它在 *.yml 文件中的写入位置。

//TO WRITE
vector<Keypoint> myKpVec;
FileStorage fs(filename,FileStorage::WRITE);

ostringstream oss;
for(size_t i;i<myKpVec.size();++i) {
oss << i;
fs << oss.str() << myKpVec[i];
}
fs.release();

//TO READ
vector<Keypoint> myKpVec;
FileStorage fs(filename,FileStorage::READ);
ostringstream oss;
Keypoint aKeypoint;
for(size_t i;i<myKpVec.size();<++i) {
oss << i;
fs[oss.str()] >> aKeypoint;
myKpVec.push_back(aKeypoint);
}
fs.release();

朱利安

关于c - 如何使用 openCV 保存关键点 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6865438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com