本文整理汇总了C++中Vocabulary::MatToFile方法的典型用法代码示例。如果您正苦于以下问题:C++ Vocabulary::MatToFile方法的具体用法?C++ Vocabulary::MatToFile怎么用?C++ Vocabulary::MatToFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vocabulary
的用法示例。
在下文中一共展示了Vocabulary::MatToFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
//.........这里部分代码省略.........
vector<uchar> status;
//it might be useful to set all the parameters manually
findFundamentalMat(points1, points2, status, FM_RANSAC, 3., 0.9); // what corresponds to '3' method&
vector<uchar>::iterator stat_itr = status.begin(),
stat_itr_fal = status.end();
int calc_nonzero=0;
for(; stat_itr!=stat_itr_fal;++stat_itr ){
if (*stat_itr!=0){ //and did that '3' method work with outlyers?
++calc_nonzero;
}
}
float ratio = 0;
if(compatPoints.size()!=0){
ratio = static_cast<float>(calc_nonzero)/ static_cast<float>(compatPoints.size());
}
if (ratio>=gmtr_threshold) {
cur_closure.push_back(static_cast<float>(img_n));
cur_closure.push_back(static_cast<float>(candidate_it->first));
cur_closure.push_back(candidate_it->second);
cur_closure.push_back(ratio);
detectedLoopClosures.push_back(cur_closure);
}
//************************************************************************************
pair<int, vector<float> > fp_pair;
pair<map<int, vector<float> >::iterator,bool> ret;
fp_pair = make_pair(img_n, curImg_pos_probab);
ret = closureProbab.insert(fp_pair);
if (ret.second){
std::ofstream outFile((outputFolder+closureProbabFile).c_str(), std::ios::out | std::ifstream::app);
outFile<<img_n<<" ";
for(int i = 0;i< curImg_pos_probab.size();i++){
outFile<<curImg_pos_probab[i]<<" ";
}
outFile<<"\n";
outFile.close();
}
}
}
pair<int, vector<float> > fp_pair;
pair<map<int, vector<float> >::iterator,bool> ret;
fp_pair = make_pair(img_n, curImg_pos_probab);
ret = closureProbab.insert(fp_pair);
if (ret.second){
std::ofstream outFile((outputFolder+closureProbabFile).c_str(), std::ios::out | std::ifstream::app);
outFile<<img_n<<" ";
for(int i = 0;i< curImg_pos_probab.size();i++){
outFile<<curImg_pos_probab[i]<<" ";
}
outFile<<"\n";
outFile.close();
}
}
//Writing output
stringstream ssImg;
ssImg << img_n<<".ppm"; // int value
imwrite((outputFolder+im+ssImg.str()).c_str(), img_current);
std::ofstream outFileDM((outputFolder+dataMapFile).c_str(),std::ios::out | std::ifstream::app);
outFileDM<<img_n<<" "<<ts<<" "<<odom<<endl;
outFileDM.close();
stringstream tempDir;
tempDir<<img_n<<".dat";
VocabularyObject.MatToFile(outputFolder+imDescr+tempDir.str(),curImgDescriptors);
VocabularyObject.MatToFile(outputFolder+imgFlannLab+tempDir.str(),curImgFlannLabels);
std::ofstream outFileImBow((outputFolder+imBow+tempDir.str()).c_str(), std::ios::out | std::ifstream::binary);
for(int i = 0;i< curImg_bow.size();i++){
outFileImBow<<curImg_bow[i]<<"\n";
}
outFileImBow.close();
std::ofstream outFileImFeat((outputFolder+imFeat+tempDir.str()).c_str(),std::ios::out | std::ifstream::binary);
vector<cv::KeyPoint>::iterator itr = curImgFeatures.begin(), itr_fal = curImgFeatures.end();
for(;itr!=itr_fal;++itr){
outFileImFeat<<itr->pt.x<<" "<<itr->pt.y<<endl;
}
outFileImFeat.close();
std::ofstream outFileClosure((outputFolder+closureFile).c_str(), std::ios::out | std::ifstream::app);
for(int i =0;i<detectedLoopClosures.size();i++){
std::pair<string, string> first = dataMap[detectedLoopClosures[i][0]];
std::pair<string, string> second = dataMap[detectedLoopClosures[i][1]];
outFileClosure<< detectedLoopClosures[i][0]<<" "<<first.first <<" "<< first.second <<" "<< detectedLoopClosures[i][1]<<" "<<second.first << " " <<second.second <<" " <<detectedLoopClosures[i][2]<<" "<<detectedLoopClosures[i][3];
outFileClosure<<endl;
}
outFileClosure.close();
std::ofstream outFileInvInd((outputFolder+invIndFile).c_str() ,std::ios::out | std::ifstream::out);
for(std::map<int, std::vector<int> >::iterator it = newInvIndex.begin();it!=newInvIndex.end();it++){
outFileInvInd<<it->first<<" ";
for(int i=0;i<it->second.size();i++)
outFileInvInd<<it->second[i]<<" ";
outFileInvInd<<endl;
}
return detectedLoopClosures;
}