opencv画矩形(opencv画圆角矩形)
# 简介OpenCV 是一个广泛使用的计算机视觉库,提供了丰富的图像处理功能。在计算机视觉任务中,绘制矩形是一个常见的操作,例如标注物体检测结果、框选区域等。本文将详细介绍如何使用 OpenCV 在图像上绘制矩形,并通过代码示例展示其用法。---## 一、安装与导入 OpenCV在开始之前,请确保已正确安装 OpenCV 库。如果尚未安装,可以通过以下命令进行安装:```bash pip install opencv-python ```导入 OpenCV 库后即可开始使用:```python import cv2 import numpy as np ```---## 二、绘制矩形的基本方法OpenCV 提供了 `cv2.rectangle()` 函数用于绘制矩形。该函数的语法如下:```python cv2.rectangle(img, pt1, pt2, color, thickness) ```### 参数说明: -
img
:目标图像。 -
pt1
:矩形左上角的坐标 (x, y)。 -
pt2
:矩形右下角的坐标 (x, y)。 -
color
:矩形的颜色(BGR 格式)。 -
thickness
:矩形边框的粗细,负值表示填充矩形。---## 三、绘制简单矩形以下代码展示了如何在一张空白图像上绘制一个简单的矩形:```python # 创建一张空白图像 image = np.zeros((500, 500, 3), dtype=np.uint8)# 定义矩形的左上角和右下角坐标 top_left = (100, 100) bottom_right = (400, 400)# 绘制矩形,颜色为绿色 (B, G, R),边框宽度为 2 cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)# 显示图像 cv2.imshow('Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```运行上述代码后,会在窗口中显示一个绿色的矩形。---## 四、绘制填充矩形如果希望绘制填充的矩形,可以将 `thickness` 参数设置为负值:```python # 绘制填充矩形,颜色为红色 (B, G, R) cv2.rectangle(image, top_left, bottom_right, (0, 0, 255), -1)# 显示图像 cv2.imshow('Filled Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---## 五、在已有图像上绘制矩形除了在空白图像上绘制矩形外,还可以在现有图像上添加矩形。例如,加载一张图片并在其上绘制矩形:```python # 加载图像 image = cv2.imread('example.jpg')# 定义矩形区域 start_point = (50, 50) end_point = (200, 200)# 绘制矩形,颜色为蓝色 (B, G, R),边框宽度为 3 cv2.rectangle(image, start_point, end_point, (255, 0, 0), 3)# 显示图像 cv2.imshow('Image with Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---## 六、结合标注文字的矩形绘制有时需要在矩形周围标注文字,可以结合 `cv2.putText()` 函数实现:```python # 加载图像 image = cv2.imread('example.jpg')# 定义矩形区域 rect_start = (50, 50) rect_end = (200, 200)# 绘制矩形 cv2.rectangle(image, rect_start, rect_end, (0, 255, 0), 2)# 添加标注文字 text = "Object" org = (rect_start[0], rect_start[1] - 10) # 文字位置 font = cv2.FONT_HERSHEY_SIMPLEX font_scale = 0.9 color = (0, 255, 0) thickness = 2cv2.putText(image, text, org, font, font_scale, color, thickness)# 显示图像 cv2.imshow('Labeled Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---## 七、总结本文介绍了如何使用 OpenCV 的 `cv2.rectangle()` 函数绘制矩形,并通过多个示例展示了其基本用法。无论是绘制简单的矩形还是复杂的标注矩形,OpenCV 都能提供强大的支持。希望读者能够灵活运用这些技巧,在实际项目中实现更多功能!
简介OpenCV 是一个广泛使用的计算机视觉库,提供了丰富的图像处理功能。在计算机视觉任务中,绘制矩形是一个常见的操作,例如标注物体检测结果、框选区域等。本文将详细介绍如何使用 OpenCV 在图像上绘制矩形,并通过代码示例展示其用法。---
一、安装与导入 OpenCV在开始之前,请确保已正确安装 OpenCV 库。如果尚未安装,可以通过以下命令进行安装:```bash pip install opencv-python ```导入 OpenCV 库后即可开始使用:```python import cv2 import numpy as np ```---
二、绘制矩形的基本方法OpenCV 提供了 `cv2.rectangle()` 函数用于绘制矩形。该函数的语法如下:```python cv2.rectangle(img, pt1, pt2, color, thickness) ```
参数说明: - **img**:目标图像。 - **pt1**:矩形左上角的坐标 (x, y)。 - **pt2**:矩形右下角的坐标 (x, y)。 - **color**:矩形的颜色(BGR 格式)。 - **thickness**:矩形边框的粗细,负值表示填充矩形。---
三、绘制简单矩形以下代码展示了如何在一张空白图像上绘制一个简单的矩形:```python
创建一张空白图像 image = np.zeros((500, 500, 3), dtype=np.uint8)
定义矩形的左上角和右下角坐标 top_left = (100, 100) bottom_right = (400, 400)
绘制矩形,颜色为绿色 (B, G, R),边框宽度为 2 cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)
显示图像 cv2.imshow('Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```运行上述代码后,会在窗口中显示一个绿色的矩形。---
四、绘制填充矩形如果希望绘制填充的矩形,可以将 `thickness` 参数设置为负值:```python
绘制填充矩形,颜色为红色 (B, G, R) cv2.rectangle(image, top_left, bottom_right, (0, 0, 255), -1)
显示图像 cv2.imshow('Filled Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---
五、在已有图像上绘制矩形除了在空白图像上绘制矩形外,还可以在现有图像上添加矩形。例如,加载一张图片并在其上绘制矩形:```python
加载图像 image = cv2.imread('example.jpg')
定义矩形区域 start_point = (50, 50) end_point = (200, 200)
绘制矩形,颜色为蓝色 (B, G, R),边框宽度为 3 cv2.rectangle(image, start_point, end_point, (255, 0, 0), 3)
显示图像 cv2.imshow('Image with Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---
六、结合标注文字的矩形绘制有时需要在矩形周围标注文字,可以结合 `cv2.putText()` 函数实现:```python
加载图像 image = cv2.imread('example.jpg')
定义矩形区域 rect_start = (50, 50) rect_end = (200, 200)
绘制矩形 cv2.rectangle(image, rect_start, rect_end, (0, 255, 0), 2)
添加标注文字 text = "Object" org = (rect_start[0], rect_start[1] - 10)
文字位置 font = cv2.FONT_HERSHEY_SIMPLEX font_scale = 0.9 color = (0, 255, 0) thickness = 2cv2.putText(image, text, org, font, font_scale, color, thickness)
显示图像 cv2.imshow('Labeled Rectangle', image) cv2.waitKey(0) cv2.destroyAllWindows() ```---
七、总结本文介绍了如何使用 OpenCV 的 `cv2.rectangle()` 函数绘制矩形,并通过多个示例展示了其基本用法。无论是绘制简单的矩形还是复杂的标注矩形,OpenCV 都能提供强大的支持。希望读者能够灵活运用这些技巧,在实际项目中实现更多功能!