std::vector<std::vector<cv::Point>>
时间: 2023-08-21 14:15:04 浏览: 62
这是一个表示多边形的数据结构,其中每个多边形由一个内部的 `std::vector<cv::Point>` 表示。 `cv::Point` 是 OpenCV 库中用于表示二维点的类。每个 `cv::Point` 对象包含 x 和 y 坐标值,用于表示多边形中的一个顶点。因此,`std::vector<std::vector<cv::Point>>` 可以用于存储多个多边形,其中每个多边形由一系列顶点组成。
相关问题
std::vector<std::vector<cv::Point>> all_curves; 解释这句话
这句话是一个 C++ 的语句,定义了一个名为 `all_curves` 的变量,类型为 `std::vector<std::vector<cv::Point>>`。它是一个二维的动态数组,每个元素都是一个 `std::vector<cv::Point>` 类型的容器,存储了多个 `cv::Point` 类型的元素。
简单来说,`all_curves` 存储了多个曲线,每个曲线是由多个点组成的,每个点都有 x 和 y 坐标值,类型为 `cv::Point`。
std::vector<cv::Point>转换为QVector<QPoint>
可以以下代码将`std::vector<cv::Point>`转换为`QVector<QPoint>`:
```c++
#include <QVector>
#include <QPoint>
#include <vector>
#include <opencv2/core/core.hpp>
QVector<QPoint> vectorCvPointToQPoint(const std::vector<cv::Point>& points) {
QVector<QPoint> qPoints;
for (const cv::Point& point : points) {
qPoints.append(QPoint(point.x, point.y));
}
return qPoints;
}
```
您可以通过调用 `vectorCvPointToQPoint` 函数并传入 `std::vector<cv::Point>` 类型的数据来获得 `QVector<QPoint>` 类型的数据。