21xrx.com
2024-12-26 16:04:26 Thursday
登录
文章检索 我的文章 写文章
使用OpenCV绘制矩形的函数:
2023-08-02 20:19:09 深夜i     --     --
OpenCV 绘制矩形 函数

OpenCV作为一款强大的计算机视觉库,提供了丰富的函数和工具包来进行图像处理和分析。其中,绘制矩形是一项常见且重要的任务,OpenCV提供了多种函数来实现这一功能。

在OpenCV中,最常用的绘制矩形的函数是cv::rectangle()。该函数可以在图像上绘制一个矩形,具有参数指定矩形的位置、大小、颜色和线宽等信息。下面是该函数的具体用法和示例代码:


cv::rectangle(cv::Mat& img, cv::Point pt1, cv::Point pt2, const cv::Scalar& color, int thickness = 1, int lineType = 8, int shift = 0);

- `img`:待绘制矩形的图像。

- `pt1`:矩形的左上角点坐标。

- `pt2`:矩形的右下角点坐标。

- `color`:矩形的颜色,可以是一个标量值(如cv::Scalar(255, 0, 0)表示蓝色)或者一个cv::Scalar对象。

- `thickness`:矩形线条的宽度,如果为负值,则表示填充整个矩形。

- `lineType`:矩形线条的类型,可以选择8连接或4连接。

- `shift`:点坐标的小数位数。

下面是一个简单的示例代码,演示了如何使用cv::rectangle()函数绘制一个红色矩形:


#include <opencv2/opencv.hpp>

using namespace cv;

int main()

{

  int width = 640;  // 图像宽度

  int height = 480; // 图像高度

  Mat img(height, width, CV_8UC3, Scalar(0, 0, 0)); // 创建一个黑色图像

  Point pt1(100, 100); // 左上角点坐标

  Point pt2(300, 300); // 右下角点坐标

  Scalar color(0, 0, 255); // 红色

  int thickness = 2; // 线宽

  rectangle(img, pt1, pt2, color, thickness);

  imshow("Image", img);

  waitKey(0);

  return 0;

}

在这个示例代码中,我们首先创建了一个大小为640x480的黑色图像,然后指定了矩形的左上角和右下角点坐标,并使用红色和线宽2来绘制一个矩形。最后,我们在屏幕上显示了结果图像。

除了cv::rectangle()函数之外,OpenCV还提供了其他函数来绘制矩形,如cv::rectangle()、cv::polylines()和cv::fillPoly()等。根据具体需求,我们可以选择最适合的函数来完成绘制矩形的任务。

总之,OpenCV提供了丰富的函数和工具包来绘制矩形。通过使用cv::rectangle()函数,我们可以轻松地在图像上绘制矩形,并为其指定位置、大小、颜色和线宽等参数。这些功能为计算机视觉和图像处理任务提供了重要的基础。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复