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

📅  最后修改于: 2023-12-03 15:23:22.523000             🧑  作者: Mango

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

OpenCV是一个基于开源发行的计算机视觉库,其提供了一系列图像处理和计算机视觉相关的API,方便程序员进行开发。在OpenCV中,可以使用cv::rectangle函数绘制矩形。

函数原型
void cv::rectangle(Mat &img, Point pt1, Point pt2, const Scalar &color, int thickness = 1, int lineType = LINE_8, int shift = 0)
  • img: 需要绘制矩形的图像,类型为Mat
  • pt1: 矩形的左上角坐标,类型为Point
  • pt2: 矩形的右下角坐标,类型为Point
  • color: 矩形的颜色,类型为Scalar
  • thickness: 线条的宽度,默认值为1,类型为int
  • lineType: 线条的类型,默认值为LINE_8,类型为int
  • shift: 坐标点小数点位数,类型为int
示例代码
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    // 创建一个黑色的图像
    Mat img(400, 400, CV_8UC3, Scalar(0,0,0));

    // 定义矩形左上角和右下角的坐标
    Point pt1(50, 50);
    Point pt2(350, 350);

    // 绘制矩形
    rectangle(img, pt1, pt2, Scalar(0, 0, 255), 2, LINE_8);

    // 显示图像
    imshow("Image with rectangle", img);
    waitKey(0);

    return 0;
}

以上代码创建了一个400x400的黑色图像,然后在其中绘制一个红色的矩形,最后显示图像。通过修改坐标和颜色值,可以绘制不同的矩形。

运行结果

运行结果

总结

使用OpenCV可以方便地进行图像处理和计算机视觉相关的开发,其中绘制矩形是常见的操作之一。通过使用cv::rectangle函数,可以在图像中绘制矩形,直观地展示处理结果。