#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main(int, char**)
{
Mat I = Mat::eye(4, 4, CV_64F);
I.at<double>(3, 3) = CV_PI;
cout << "\nI = \n " << I << ";\n" << endl;
Mat r = Mat(2, 3, CV_8UC3);
randu(r, Scalar::all(0), Scalar::all(255));
cout << "r (OpenCV默认风格) = " << r << ";" << endl << endl;
// cout << "r (Python风格) = " << format(r,"python") << ";" << endl << endl;
// cout << "r (Numpy风格) = " << format(r,"numpy") << ";" << endl << endl;
// cout << "r (逗号分隔风格) = " << format(r,"csv") << ";" << endl<< endl;
// cout << "r (C语言风格) = " << format(r,"C") << ";" << endl << endl;
// 1 定义和输出二维点
Point2f p(6, 2);
cout << "【2维点】p = " << p << ";\n" << endl;
// 2 定义和输出三维点
Point3f p3f(8, 2, 0);
cout << "【3维点】p3f = " << p3f << ";\n" << endl;
// 3 定义和输出Mat的std::vector
vector<float> v;
v.push_back(3);
v.push_back(5);
v.push_back(7);
cout << "【基于Mat的vector】shortvec = " << Mat(v) << ";\n" << endl;
vector<Point2f> points(5);
for (size_t i = 0; i < points.size(); ++i)
points[i] = Point2f((float)(i * 5), (float)(i % 7));
cout << "【二维点向量】points = \n " << points << ";";
getchar();//按任意键退出
return 0;
}
I =
[1, 0, 0, 0;
0, 1, 0, 0;
0, 0, 1, 0;
0, 0, 0, 3.141592653589793];
r (OpenCV默认风格) = [ 91, 2, 79, 179, 52, 205, 236, 8, 181;
239, 26, 248, 207, 218, 45, 183, 158, 101];
【2维点】p = [6, 2];
【3维点】p3f = [8, 2, 0];
【基于Mat的vector】shortvec = [3;
5;
7];
【二维点向量】points =
[0, 0;
5, 1;
10, 2;
15, 3;
20, 4];