📜  使用 Python 的 OpenCV 绘制矩形并提取对象(1)

📅  最后修改于: 2023-12-03 15:06:50.464000             🧑  作者: Mango

使用 Python 的 OpenCV 绘制矩形并提取对象

OpenCV 是广泛应用于计算机视觉领域的开源计算机视觉库,它能够实现图像处理和计算机视觉任务,如目标跟踪、人脸识别、图像分割等。在 OpenCV 中,矩形是一种基本的图形,它有着广泛的应用。在此文章中,我们将讲解如何使用 Python 的 OpenCV 绘制矩形并提取对象的方法。

安装 OpenCV

在开始使用 OpenCV 前,您需要先安装它。OpenCV 可以使用 pip 安装,方法如下所示:

pip install opencv-python
绘制矩形

使用 Python 的 OpenCV 绘制矩形需要使用到 cv2.rectangle() 方法。该方法接受 5 个参数:

  • img:要绘制矩形的图像(numpy 数组)
  • pt1:矩形的左上角坐标,格式为 (x,y)
  • pt2:矩形的右下角坐标,格式为 (x,y)
  • color:矩形的颜色,格式为 (B,G,R)
  • thickness:矩形边框线条粗细(-1 表示填充矩形)
import numpy as np
import cv2

# 创建一个黑色图像
img = np.zeros((512, 512, 3), np.uint8)

# 绘制一个矩形
cv2.rectangle(img, (100, 100), (400, 400), (0, 255, 0), 3)

# 显示图像
cv2.imshow("Rectangle", img)
cv2.waitKey(0)

上述代码将在一个 512x512 的黑色图像中绘制了一个绿色的矩形。在执行代码后,您可以看见绘制的矩形。

提取矩形对象

在绘制完矩形后,您可能需要提取出矩形区域中的对象。使用 Python 的 OpenCV 非常容易实现这个功能,您只需要使用 img[y:y+h, x:x+w] 语法来提取矩形中的对象。其中,(x,y) 表示矩形左上角的坐标,wh 分别表示矩形的宽度和高度。

import numpy as np
import cv2

# 加载一张图片
img = cv2.imread("test.jpg")

# 绘制一个矩形
cv2.rectangle(img, (100, 100), (400, 400), (0, 255, 0), 3)

# 提取矩形对象
obj = img[100:400, 100:400]

# 显示提取出的矩形对象
cv2.imshow("Object", obj)
cv2.waitKey(0)

上述代码将在一张测试图片中绘制了一个矩形并提取出位于矩形中心位置的对象。在执行代码后,您可以看见绘制的矩形和提取出的对象。