一、vector<Point2f>

vector

你可以使用vector

#include <opencv2/core.hpp>
#include <vector>

using namespace cv;
using namespace std;

int main()
{
    vector<Point2f> pointList;
    // 添加几个二维点到容器中
    pointList.push_back(Point2f(10, 20));
    pointList.push_back(Point2f(30, 40));
    pointList.push_back(Point2f(50, 60));
    // 遍历容器中的所有点
    for (int i = 0; i < pointList.size(); i++)
    {
        // 输出每个点的坐标值
        Point2f pt = pointList[i];
        cout << "Point " << i + 1 << ": (" << pt.x << ", " << pt.y << ")" << endl;
    }
    return 0;
}

在上述示例中,定义了一个存储二维点坐标的vector

二、Rect2i

可以通过以下示例代码来创建和操作一个Rect2i对象:

#include <opencv2/core.hpp>
#include <iostream>

int main()
{
    cv::Rect2i rect(10, 20, 100, 50);    // 创建一个矩形,左上角坐标为(10, 20),宽为100,高为50
    std::cout << "rect: (" << rect.x << ", " << rect.y << ", " << rect.width << ", " << rect.height << ")" << std::endl;

    cv::Point2i pt = rect.tl();     // 获取矩形左上角点
    std::cout << "top left: (" << pt.x << ", " << pt.y << ")" << std::endl;

    return 0;
}

在上述示例中,定义了一个Rect2i类对象rect,表示一个左上角坐标为(10, 20),宽为100,高为50的矩形,并获取了矩形左上角点的坐标并输出。

04-07 08:54