vector<vector<Point>>contours; vector<Vec4i>hierarchy; < < >> 都是什么意思哇

2024-12-26 17:03:21
推荐回答(5个)
回答1:

vector>contours; vectorhierarchy; < < >>的意思:

1、duVec4i指的是四个整形数。

2、typedef Vec Vec4i;

3、vectorhierarchy是定义的层级。

4、这个在找边界findcontours的时候会自动生成,这里只是给开辟一个空间。

5、就能算出边界的坐标。

这是openCV里面找边界的程序里面的语句,contours被定义成二维浮点型向量,这里面将来会存储找到的边界的(x,y)坐标。vectorhierarchy是定义的层级。这个在找边界findcontours的时候会自动生成,这里只是给它开辟一个空间。

扩展资料:

opencv中vector类的用法:

 1、文件包含:     

首先在程序开头处加上#include以包含所需要的类文件vector,还有一定要加上using namespace std。

 2、变量声明:

(1) 例:声明一个int向量以替代一维的数组:vector a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。

(2)例:用vector代替二维数组.其实只要声明一个一维数组向量即可,而一个数组的名字其实代表的是它的首地址,所以只要声明一个地址的向量即可,即:vector  a。同理想用向量代替三维数组也是一样,vector a。

回答2:

vector>contours; vectorhierarchy; < < >>的意思:

1、Vec4i指的是四个整形数。

2、typedef Vec Vec4i;

3、vectorhierarchy是定义的层级。

4、这个在找边界findcontours的时候会自动生成,这里只是给开辟一个空间。

5、就能算出边界的坐标。


扩展资料:

vector的标准模板库:

vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

Java中Vector类是允许不同类型元素共存的变长数组,Java.util.Vector提供了向量(Vector)类以实现类似动态数组的功能。

在Java语言中是没有指针概念的,但如果能正确灵活地使用指针又确实可以大大提高程序的质量,比如在C、C++中所谓“动态数组”一般都由指针来实现。为了弥补这点缺陷,Java提供了丰富的类库来方便编程者使用,Vector类便是其中之一。事实上,灵活使用数组也可完成向量类的功能,向量类中提供的大量方法也大大方便了用户的使用。

参考资料来源:百度百科-vector

回答3:

你这是openCV里面找边界的程序里面的语句吧。contours被定义成二维浮点型向量,这里面将来会存储找到的边界的(x,y)坐标。vectorhierarchy是定义的层级。这个在找边界findcontours的时候会自动生成,这里只是给它开辟一个空间。将来findContours( src, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0) );就能算出边界的坐标,存在contours里面。

回答4:

vector是容器 可以理解成一个可变长的数组 第一句生成一个point型的二维数组变量contours(每一维长度均可变) 第二句是生成一个Vec4i型的一维数组hierarchy <>里面写的是容器的数据类型

回答5:

Vec4i指的是四个整形数

你好好看看向量数据类型