Python OpenCV cv2 绘制带有文本的矩形

作者:编程家 分类: python 时间:2025-11-17

使用Python中的OpenCV库可以进行图像处理和计算机视觉任务。其中,cv2是OpenCV库中最常用的模块之一。在OpenCV中,我们可以使用cv2.rectangle函数绘制矩形,并通过添加文本来标注矩形的内容。

首先,我们需要导入cv2库和numpy库,以便进行图像处理和数值计算。代码如下:

python

import cv2

import numpy as np

接下来,我们可以创建一个空白图像,并使用cv2.rectangle函数绘制一个带有文本的矩形。代码如下:

python

# 创建一个空白图像

image = np.zeros((500, 500, 3), dtype=np.uint8)

# 定义矩形的位置和大小

x, y, w, h = 100, 100, 300, 200

# 绘制矩形

cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

# 添加文本

text = "Rectangle"

cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

在上面的代码中,我们首先创建了一个空白图像,大小为500x500像素。然后,我们定义了矩形的位置和大小,即左上角坐标为(100, 100),宽度为300,高度为200。接下来,我们使用cv2.rectangle函数在图像上绘制了一个矩形,边框颜色为绿色,线宽为2。最后,我们使用cv2.putText函数在矩形上方添加了文本。

现在,我们可以显示绘制好的图像。代码如下:

python

# 显示图像

cv2.imshow("Rectangle with Text", image)

cv2.waitKey(0)

cv2.destroyAllWindows()

上面的代码中,我们使用cv2.imshow函数显示了图像,并使用cv2.waitKey和cv2.destroyAllWindows函数来等待用户关闭图像窗口。

案例代码:

下面是一个完整的示例代码,用于绘制带有文本的矩形并显示图像:

python

import cv2

import numpy as np

# 创建一个空白图像

image = np.zeros((500, 500, 3), dtype=np.uint8)

# 定义矩形的位置和大小

x, y, w, h = 100, 100, 300, 200

# 绘制矩形

cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

# 添加文本

text = "Rectangle"

cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

# 显示图像

cv2.imshow("Rectangle with Text", image)

cv2.waitKey(0)

cv2.destroyAllWindows()

使用Python OpenCV绘制带有文本的矩形

在计算机视觉任务中,经常需要在图像上绘制矩形,并为其添加文本以进行标注。Python中的OpenCV库提供了cv2模块,可以轻松实现这一功能。本文将介绍如何使用cv2绘制带有文本的矩形,并提供一个简单的示例代码。

步骤1:导入库

首先,我们需要导入cv2库和numpy库,代码如下:

python

import cv2

import numpy as np

在这里,cv2是OpenCV库中最常用的模块之一,而numpy库用于进行图像处理和数值计算。

步骤2:创建空白图像

我们可以使用numpy库创建一个空白图像,代码如下:

python

image = np.zeros((500, 500, 3), dtype=np.uint8)

这里我们创建了一个大小为500x500像素的空白图像,像素值的数据类型为unit8。

步骤3:绘制矩形

接下来,我们可以使用cv2.rectangle函数绘制一个矩形,并指定其位置、大小、边框颜色和线宽。代码如下:

python

x, y, w, h = 100, 100, 300, 200

cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

在这里,我们定义了矩形的位置和大小,即左上角坐标为(100, 100),宽度为300,高度为200。然后,我们使用cv2.rectangle函数在图像上绘制了一个矩形,边框颜色为绿色,线宽为2。

步骤4:添加文本

我们可以使用cv2.putText函数在矩形上方添加文本,并指定其内容、位置、字体、大小、颜色和线宽。代码如下:

python

text = "Rectangle"

cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

在这里,我们添加了文本"Rectangle",位置为矩形的左上方,字体为cv2.FONT_HERSHEY_SIMPLEX,大小为0.9,颜色为绿色,线宽为2。

步骤5:显示图像

最后,我们使用cv2.imshow函数显示绘制好的图像,并使用cv2.waitKey和cv2.destroyAllWindows函数等待用户关闭图像窗口。代码如下:

python

cv2.imshow("Rectangle with Text", image)

cv2.waitKey(0)

cv2.destroyAllWindows()

在这里,我们使用cv2.imshow函数显示了图像,并使用cv2.waitKey和cv2.destroyAllWindows函数来等待用户关闭图像窗口。

本文介绍了如何使用Python中的OpenCV库绘制带有文本的矩形。通过使用cv2中的rectangle函数绘制矩形,并使用putText函数添加文本,我们可以轻松实现图像标注的功能。希望本文对你理解OpenCV的使用有所帮助。

参考代码:

python

import cv2

import numpy as np

# 创建一个空白图像

image = np.zeros((500, 500, 3), dtype=np.uint8)

# 定义矩形的位置和大小

x, y, w, h = 100, 100, 300, 200

# 绘制矩形

cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

# 添加文本

text = "Rectangle"

cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)

# 显示图像

cv2.imshow("Rectangle with Text", image)

cv2.waitKey(0)

cv2.destroyAllWindows()

以上是使用Python中OpenCV库绘制带有文本的矩形的示例代码。你可以根据自己的需求,调整矩形的位置、大小、文本内容和样式。通过这个简单的例子,你可以快速上手OpenCV的图像处理功能。希望本文对你有所帮助!