mirror of https://github.com/opencv/opencv.git
parent
6ff58f02e2
commit
69f1ee8732
1 changed files with 50 additions and 0 deletions
@ -0,0 +1,50 @@ |
||||
#include <boost/lexical_cast.hpp> |
||||
#include "CsvWriter.h" |
||||
|
||||
CsvWriter::CsvWriter(const std::string &path, const std::string &separator){ |
||||
_file.open(path.c_str(), std::ofstream::out); |
||||
_isFirstTerm = true; |
||||
_separator = separator; |
||||
} |
||||
|
||||
CsvWriter::~CsvWriter() { |
||||
_file.flush(); |
||||
_file.close(); |
||||
} |
||||
|
||||
void CsvWriter::writeXYZ(const std::vector<cv::Point3f> &list_points3d) |
||||
{ |
||||
std::string x, y, z; |
||||
for(unsigned int i = 0; i < list_points3d.size(); ++i) |
||||
{ |
||||
x = boost::lexical_cast< std::string >(list_points3d[i].x); |
||||
y = boost::lexical_cast< std::string >(list_points3d[i].y); |
||||
z = boost::lexical_cast< std::string >(list_points3d[i].z); |
||||
|
||||
_file << x << _separator << y << _separator << z << std::endl; |
||||
} |
||||
|
||||
} |
||||
|
||||
void CsvWriter::writeUVXYZ(const std::vector<cv::Point3f> &list_points3d, const std::vector<cv::Point2f> &list_points2d, const cv::Mat &descriptors) |
||||
{ |
||||
std::string u, v, x, y, z, descriptor_str; |
||||
for(int i = 0; i < list_points3d.size(); ++i) |
||||
{ |
||||
u = boost::lexical_cast< std::string >(list_points2d[i].x); |
||||
v = boost::lexical_cast< std::string >(list_points2d[i].y); |
||||
x = boost::lexical_cast< std::string >(list_points3d[i].x); |
||||
y = boost::lexical_cast< std::string >(list_points3d[i].y); |
||||
z = boost::lexical_cast< std::string >(list_points3d[i].z); |
||||
|
||||
_file << u << _separator << v << _separator << x << _separator << y << _separator << z; |
||||
|
||||
for(int j = 0; j < 32; ++j) |
||||
{ |
||||
std::cout << descriptors.at<float>(i,j) << std::endl; |
||||
descriptor_str = boost::lexical_cast< std::string >(descriptors.at<float>(i,j)); |
||||
_file << _separator << descriptor_str; |
||||
} |
||||
_file << std::endl; |
||||
} |
||||
} |
Loading…
Reference in new issue