在Python的计算机视觉库OpenCV中,绘制图形和添加注释是常见的操作,尤其是在处理图像分析和处理任务时。本文将详细介绍如何使用OpenCV在Python中实现画矩形和添加文字注释的功能。 我们要了解`cv2.rectangle()`函数,这是在图像上绘制矩形的主要方法。该函数接收以下参数: 1. `img`: 这是你要在上面画矩形的图像矩阵。 2. `pt1`: 矩形的一个顶点坐标,通常表示为`(x1, y1)`。 3. `pt2`: 矩形对角线上的另一个顶点坐标,通常表示为`(x2, y2)`。这两个点定义了矩形的宽度和高度。 4. `color`: 矩形边框的颜色,可以是RGB三元组,例如`(0,0,255)`表示红色。 5. `thickness`: 边框的厚度,正数表示线条的宽度,负数(如`CV_FILLED`)表示填充矩形内部。 6. `line_type`: 线条类型,例如`8`连接或`4`连接等,具体可参考`cv2.LINE_8`等常量。 7. `shift`: 坐标的精度,通常用于小数点后的位数。 下面是一个使用`cv2.rectangle()`绘制矩形的例子: ```python import cv2 # 创建一个空白图像 img = cv2.imread('image.jpg') # 如果有图像文件,可以使用imread加载 if img is None: img = cv2.zeros((500, 500, 3), dtype=cv2.CV_8UC3) # 创建一个500x500的空白图像 # 定义矩形的顶点和颜色 x, y, row, col = 50, 50, 200, 200 colors = (0, 0, 255) # 使用cv2.rectangle()绘制矩形 cv2.rectangle(img, (x, y), (x + row, y + col), colors, 5) ``` 接下来,我们讨论如何在图像上添加文字注释,这需要用到`cv2.putText()`函数。该函数的参数如下: 1. `img`: 同样是你要添加文字的图像矩阵。 2. `str`: 要添加的文字字符串。 3. `origin`: 文本的左上角坐标,同样是一个坐标元组`(x, y)`。 4. `font`: 字体样式,可以使用`cv2.FONT_HERSHEY_SIMPLEX`、`cv2.FONT_HERSHEY_DUPLEX`等预定义的字体。 5. `size`: 字体大小,通常是浮点数。 6. `color`: 文字颜色,同样为RGB三元组。 7. `thickness`: 文字的粗细程度,正数表示线条的宽度。 以下是一个使用`cv2.putText()`添加文字注释的示例: ```python # 添加文字注释 text = "lena" text_position = (50, 150) font = cv2.FONT_HERSHEY_COMPLEX font_scale = 5 text_color = (0, 255, 0) text_thickness = 12 cv2.putText(img, text, text_position, font, font_scale, text_color, text_thickness) ``` 结合这两个函数,你可以轻松地在OpenCV处理的图像上绘制矩形并添加文字注释。这些功能在图像标注、对象检测、图像识别等领域非常有用。当你需要展示或解释图像中的特定区域或特征时,这种方法尤其方便。记得在实际应用中根据需要调整参数,以适应不同的图像和需求。
- 粉丝: 3
- 资源: 870
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助