1. 定义和输出二维点
Point2f p2(3, 4);
cout << "[二维点] is "<< endl << p2 << endl;
输出结果:
[二维点] is
[3, 4]
2. 定义和输出三维点
Point3f p3(3, 4, 2);
cout << "[三维点] is "<< endl << p3 << endl;
输出结果:
[三维点] is
[3, 4, 2]
3. 定义和输出基于 Mat 的 std::vector
是基于 Mat
类的 std::vector
的定义和输出方法:
vector<float> v;
v.push_back(1);
v.push_back(3);
v.push_back(5);
cout << "[基于Mat的vector] is "<< endl << Mat(v) << endl;
输出结果:
[基于Mat的vector] is
[1;
3;
5]
4. 定义和输出 std::vector 点
定义和输出存放着点的 vector
容器,以存放二维点 Point2f
为例:
vector<Point2f> points(10);
for(size_t i=0; i<points.size(); i++)
{
points[i] = Point2f((float)(i*5), (float)(i%3));
}
cout << "[二维点向量] is "<< endl << points << endl;
输出结果:
[二维点向量] is
[0, 0;
5, 1;
10, 2;
15, 0;
20, 1;
25, 2;
30, 0;
35, 1;
40, 2;
45, 0]
5. 完整代码
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
int main()
{
Point2f p2(3, 4);
cout << "[二维点] is "<< endl << p2 << endl;
Point3f p3(3, 4, 2);
cout << "[三维点] is "<< endl << p3 << endl;
vector<float> v;
v.push_back(1);
v.push_back(3);
v.push_back(5);
cout << "[基于Mat的vector] is "<< endl << Mat(v) << endl;
vector<Point2f> points(10);
for(size_t i=0; i<points.size(); i++)
{
points[i] = Point2f((float)(i*5), (float)(i%3));
}
cout << "[二维点向量] is "<< endl << points << endl;
return 0;
}