[英]A buffer overrun error happened at CascadeTraining.exe
我正在訓練cascadeclassifier
並且發生了一個奇怪的問題。 它發生在tempStage->write( fs, Mat() );
在以下代碼中。
CvCascadeBoost* tempStage = new CvCascadeBoost;
// save current stage
char buf[10];
sprintf(buf, "%s%d", "stage", i );
filename = dirName + buf + ".xml";
FileStorage fs( filename, FileStorage::WRITE );
if ( !fs.isOpened() )
{
cout << "Current stage can not be written, because file " << filename
<< " can not be opened." << endl;
return false;
}
fs << FileStorage::getDefaultObjectName(filename) << "{";
tempStage->write( fs, Mat() );
fs << "}";
OpenCV錯誤是
OpenCV Error: Unspecified error (No element name has been given) in unknown func
tion, file D:\Lib\OpenCV_Lib_2.4.6\include\opencv2/core/ope
rations.hpp, line 2908
有什么事嗎 當我檢查fs時,如附圖所示,它有很多無法讀取內存消息的信息。
謝謝
CvCascadeBoost::write
的簽名是:
void CvCascadeBoost::write( FileStorage &fs, const Mat& featureMap ) const
並且您向其傳遞了一個空矩陣,這應該是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.