其中的vector<vector<Point>> contours;什么意思
时间: 2023-06-16 19:03:58 浏览: 131
`vector<vector<Point>> contours` 是一个存储轮廓的容器,其中每个轮廓都是一个由 `Point` 类型点组成的向量,因此 `vector<Point>` 表示一个轮廓,而 `vector<vector<Point>>` 表示多个轮廓的集合。在图像处理中,轮廓是图像中一些特定形状的边界线,可以用来做形状识别、物体检测等任务。在使用 OpenCV 进行轮廓检测时,检测结果会以 `vector<vector<Point>>` 的形式返回,其中每个轮廓是一个 `vector<Point>` 类型的向量,每个点表示轮廓上的一个像素点。
相关问题
vector<vector<cv::Point>>hull(contours0.size());
这行代码定义了一个名为"hull"的二维向量,其中包含了contours0向量的大小数量的元素。每个元素都是一个cv::Point类型的向量,表示的是对应轮廓的凸包点的坐标。
cv::Point是OpenCV库中用于表示二维点坐标的数据类型,该类型包含了两个成员变量x和y,分别表示点的横坐标和纵坐标。而contours0则是一个包含多个轮廓的向量,每个轮廓都是由一些点坐标组成的向量。因此,hull向量的大小就等于contours0向量的大小,每个元素都是一个cv::Point类型的向量,表示的是对应轮廓的凸包点的坐标。
vector<vector<Point>> contours; vector<Vec4i> hierarchy;定义不完整
这段代码定义了两个变量contours和hierarchy,它们的数据类型分别是vector<vector<Point>>和vector<Vec4i>。
vector<vector<Point>>是一个二维向量,其中每个元素是一个Point类型的向量。通常用来存储轮廓点的坐标信息。
vector<Vec4i>是一个一维向量,其中每个元素是一个四维整型向量。通常用来存储轮廓之间的关系,如轮廓的父子关系等。
但是,这段代码定义的时候缺少了变量名,所以代码是不完整的。正确的定义应该是类似于这样的:
```
vector<vector<Point>> contours;
vector<Vec4i> hierarchy;
```
其中,contours和hierarchy是变量名,可以根据实际需要自行命名。
阅读全文