Commit 69f1ee87 authored by edgarriba's avatar edgarriba

Code tutorial

parent 6ff58f02
#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;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment