📜  在C ++中使用OpenCV绘制矩形(1)

📅  最后修改于: 2023-12-03 14:51:14.606000             🧑  作者: Mango

在C++中使用OpenCV绘制矩形

简介

OpenCV是一个开源的跨平台计算机视觉库,提供了丰富的图像处理和计算机视觉功能。本文将介绍如何使用OpenCV在C++中绘制矩形。

准备

在开始之前,需要确保您已经安装了OpenCV,并且能够编写C++程序。如果您还没有安装OpenCV,可以从官网下载并安装。

在编写程序之前,需要包含OpenCV的头文件,以及命名空间。

#include <opencv2/opencv.hpp>

using namespace cv;
绘制矩形

使用OpenCV绘制矩形需要使用cv::rectangle函数。该函数有四个必需的参数:

  • Mat& img:待绘制的图像。
  • Point pt1:左上角点的坐标。
  • Point pt2:右下角点的坐标。
  • Scalar color:矩形的颜色。
Mat img = imread("test.jpg");
Point pt1(10, 10);
Point pt2(100, 100);
Scalar color(0, 255, 0);
rectangle(img, pt1, pt2, color);

上面的代码读取了一幅图像,然后在左上角坐标为(10, 10),右下角坐标为(100, 100)的位置绘制了一个矩形,颜色为绿色。

除了四个必需的参数外,cv::rectangle还有两个可选参数:

  • int thickness=1:矩形线条的宽度。默认值为1。
  • int lineType=LINE_8:线条的类型。默认值为LINE_8。
int thickness = 2;
int lineType = LINE_AA;
rectangle(img, pt1, pt2, color, thickness, lineType);

上面的代码将矩形线条的宽度设置为2,线条的类型设置为LINE_AA,即抗锯齿线条。

完整示例代码

下面是一个完整的示例代码,该代码读取一幅图像,然后在图像左上角绘制了一个矩形。

#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat img = imread("test.jpg");
    Point pt1(10, 10);
    Point pt2(100, 100);
    Scalar color(0, 255, 0);
    int thickness = 2;
    int lineType = LINE_AA;
    rectangle(img, pt1, pt2, color, thickness, lineType);
    imshow("image", img);
    waitKey(0);
    return 0;
}
结论

本文介绍了如何使用OpenCV在C++中绘制矩形。使用cv::rectangle函数,可以轻松地绘制矩形。