Python OpenCV | cv2.rectangle() 方法详解

在 OpenCV 中,cv2.rectangle() 函数是我们在图像上绘制矩形的强大工具。通过指定起始和结束坐标、颜色以及线条粗细,我们不仅可以高亮显示图像中的特定区域,还能为图像处理任务(如标注、目标检测和可视化)提供极大的便利。接下来,让我们深入了解这个函数的语法和用法。

语法

> cv2.rectangle(image, startpoint, endpoint, color, thickness)

参数说明:

  • image: 要在其上绘制矩形的输入图像。
  • start_point: 矩形左上角坐标的元组 (x, y)。
  • end_point: 矩形右下角坐标的元组 (x, y)。
  • color: 矩形边框的颜色,使用 BGR 格式(例如 (255, 0, 0) 表示蓝色)。
  • thickness: 矩形边框的粗细(像素单位)。如果设置为 -1,则用颜色填充整个矩形。

返回值: 返回绘制了矩形的图像。

关键要点

在使用该函数时,有几点需要我们特别留意:

  • 坐标值应在图像尺寸范围内,以避免报错。
  • 将 thickness 设置为 -1 会填充矩形,使其变成实心色块。
  • 颜色应按 BGR(蓝-绿-红)顺序指定,这是 OpenCV 的默认设置,而非常见的 RGB。

示例代码

为了演示接下来的示例,我们将使用下面的图片作为测试素材:

!image

示例 1:绘制蓝色矩形边框

让我们看一段代码,它读取图像并在上面绘制一个蓝色的矩形,最后在一个窗口中显示修改后的图像。

Python


CODEBLOCK_429aac9f

输出结果

!image

代码解析:

  • cv2.rectangle(image, (5, 5), (220, 220), (255, 0, 0), 2): 这行代码在图像上从点 (5, 5) 到 (220, 220) 绘制了一个蓝色的矩形,边框粗细为 2 像素。
  • cv2.imshow(): 打开一个名为 "Image" 的窗口,并显示绘制了矩形的图像。

示例 2:在灰度图像上绘制填充的黑色矩形

在这个例子中,我们将以灰度模式读取图像,并在上面绘制一个填充的黑色矩形,然后显示结果。

Python


CODEBLOCK_ab20af67

输出结果

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20190807004238/ex2output.png">ex2output

代码解析:

  • image = cv2.imread(r‘logo.png‘, 0): 以灰度模式读取图像(参数 0 表示单通道灰度图)。
  • cv2.rectangle(image, (100, 50), (125, 80), 0, -1): 在图像上从 (100, 50) 到 (125, 80) 绘制了一个填充黑色的矩形。
  • cv2.imshow(‘Image‘, image): 在名为 "Image" 的窗口中显示修改后的图像。

常见应用场景

让我们来看看 cv2.rectangle() 在哪些常见的场景中能发挥作用:

  • 在图像或视频中高亮显示检测到的对象。
  • 为人脸或目标检测创建边界框。
  • 标记感兴趣的区域(ROI)。
  • 在计算机视觉处理流程中进行可视化调试。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/29188.html
点赞
0.00 平均评分 (0% 分数) - 0