我想从我的照片中获取轮廓的坐标。我想将其保存为.txt文档。
首先我创建了:
vector<vector<cv:Pont> >extract<cv::Mat &binaryImage){
vector<vector<cv::Point> > coordinatesContours;
cv::findContours(binaryImage, coordinatesContours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
return coordinatesContours;
}
我在我的主要电话中调用该功能:
oTest.extract(binaryImage);
现在我想将坐标作为输出导出到.txt
我的功能:
void Export(vector<vector<cv::Point> > coordinatesContours){
string json;
json = "{\n\t\t \"vertices\" : [\n\t\t\t\t";
for(int i=0; i< coordinatesContours.size; i++)
for(int j=0; i< coordinatesContours.size; j++)
cout << i << "(" << coordinatesContours[i][j].x << ", " << coordinatesContours[i][j].y << ")" << endl;
但我怎么能完成我的功能?
如何在我的Main中调用它?
请帮助 THX
答案 0 :(得分:0)
我必须说你可以直接在Extract函数中添加Export函数。您应该使用fstream
导出点这里的示例:
#indlude fstream
// edit : typo corrected Pont -> Point
... vector<vector<cv::Point> >extract<cv::Mat &binaryImage){
vector<vector<cv::Point> > coordinatesContours;
cv::findContours(binaryImage, coordinatesContours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
fstream export_file;
export_file.open("Some_Name.txt",std::ios::out);
for(int i=0; i< coordinatesContours.size; i++)
for(int j=0; i< coordinatesContours[i].size; j++)
export_file << "Contour: " << i << ", Point: " << j << ",(" << coordinatesContours[i][j].x << ", " << coordinatesContours[i][j].y << ")" << endl;
export_file.close();
}