opencv - 使用OpenCV读取yml文件

标签 opencv file-io

使用 OpenCV,我想找到不同图像中的关键点并将它们保存在我的硬盘上。这对于保存部分非常有效。为了保存我使用的关键点:

Mat it;
it = imread( "pic1.jpg", IMREAD_GRAYSCALE);
vector<KeyPoint> keypoints;
detector.detect( (it), keypoints );
FileStorage fs("keypoint1.yml", FileStorage::WRITE);
write( fs , "keypoint", keypoints );
fs.release();

当我尝试再次读取文件时:

vector<KeyPoint> keypoint1s;
FileStorage fs2("keypoint1.yml", FileStorage::READ);
FileNode kptFileNode = fs2["keypoint1"];
read( kptFileNode, keypoint1s );
fs2.release();

如果我这样做,“keypoint1s”是空的。怎么了?

最佳答案

读取时你的变量名错误:

FileNode kptFileNode = fs2["keypoint1"];

应该是

FileNode kptFileNode = fs2["keypoint"];

这对我有用:

vector<int> keypoints;
keypoints.push_back(1);
keypoints.push_back(2);

FileStorage fs("keypoint1.yml", FileStorage::WRITE);
write(fs , "keypoint", keypoints);
fs.release();

vector<int> newKeypoints;
FileStorage fs2("keypoint1.yml", FileStorage::READ);
FileNode kptFileNode = fs2["keypoint"];
read(kptFileNode, newKeypoints);
fs2.release();

关于opencv - 使用OpenCV读取yml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877903/

相关文章:

javascript - react :write to json file or export/download [no server]

python - OpenCV - 检查两个图像是否 100% 相同的最快方法

javascript - OSError : [WinError 193] %1 is not a valid Win32 application opencv. js

python - 将行写入文件的正确方法?

java - 使用站点名称保存文件

java - Java任务中的文件IO

c++ - 模板匹配亚像素精度

opencv 2.4.6 : can't open the webcam, 异常处理程序无效(Windows 7、VS2013)

c++ - OpenCV getMinFilter_GPU

python - 读取整个文件是否会使文件句柄保持打开状态?