使用opencv通过Filestorage保存时出错

Posted

技术标签:

【中文标题】使用opencv通过Filestorage保存时出错【英文标题】:Getting error while saving through Filestorage using opencv 【发布时间】:2013-10-08 01:19:46 【问题描述】:

我正在尝试从 BOW 算法中保存词汇表。下面是我的代码。

FileStorage fs; 
fs.open("Vocabulary.xml", FileStorage::WRITE); 
Mat vocabulary = bow.cluster(); 
fs << vocabulary ;
fs.release();
FileStorage fs2; 
fs2.open("Vocabulary.xml", FileStorage::READ); 
fs2 ["Vocabulary"] >> vocabulary ;
dextract.setVocabulary(vocabulary);

cv::Mat training_mat(num_img , dictionarySize,CV_32FC1);
cv::Mat labels(num_img,1,CV_32FC1);

CvSVM svm;
svm.load( "trainsvm.xml" );

这是我的错误:

OpenCV Error: Unspecified error (No element name has been given) in unknown function , file c:\opencv\2.4.4\build\include\opencv2\core\operations.hpp , line 2908

【问题讨论】:

【参考方案1】:

您没有在文件中设置词汇的名称,试试这个:

fs << "Vocabulary" << vocabulary ;

【讨论】:

以上是关于使用opencv通过Filestorage保存时出错的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 机器学习函数需要 CvFileStorage* 而不是 cv::FileStorage*

OpenCV 4.2.0 FileStorage 分段错误

OpenCV Python API 的 FileStorage

使用 OpenCV VideoWriter 保存灰度图像时出现 Gstreamer 错误

Java OpenCV FileStorage 和 Mat.push_back

14 opencv读取XML