OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出
生活随笔
收集整理的這篇文章主要介紹了
OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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;
}
總結
以上是生活随笔為你收集整理的OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国中空玻璃聚硫密封
- 下一篇: 2022-2028年中国水性密封胶行业市