view trajectorymanagement/src/PointOperations.h @ 1251:2b1c8fe8f7e4

added function for KITTI 2D format (just a simple csv-like format with xy coordinates)
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 15 Mar 2024 17:05:54 -0400
parents e1e7acef8eab
children
line wrap: on
line source

#ifndef POINTOPERATIONS_H_
#define POINTOPERATIONS_H_

#include "opencv2/core/core.hpp"

template<typename Ti, typename Tr>
  std::basic_istream<Ti>& operator>>(std::basic_istream<Ti>& in, cv::Point_<Tr>& point)
{
	Tr x, y;
	if (in >> x >> y)
	{
		point.x = x;
		point.y = y;
	}
	return in;
}

template<typename Ti, typename Tr>
std::basic_istream<Ti>& operator>>(std::basic_istream<Ti>& in, cv::Point3_<Tr>& point)
{
	Tr x, y, z;
	if (in >> x >> y >> z)
	{
		point.x = x;
		point.y = y;
		point.z = z;
	}
	return in;
}


template<typename Tr>
inline std::ostringstream& operator<<(std::ostringstream& out, const cv::Point_<Tr>& point)
{
	out << point.x << " " << point.y;
	return out;
}

template<typename Tr>
inline std::ostringstream& operator<<(std::ostringstream& out, const cv::Point3_<Tr>& point)
{
	out << point.x << " " << point.y << " " << point.z;
	return out;
}

#endif /* POINTOPERATIONS_H_ */