插件窝 干货文章 OpenCV-Python中如何始终将矩形框的中心点保持在左侧中间?

OpenCV-Python中如何始终将矩形框的中心点保持在左侧中间?

矩形 图像 位置 左侧 667    来源:    2025-03-16

在OpenCV-Python中,如果你想要始终将矩形框的中心点保持在图像的左侧中间位置,可以通过以下步骤实现:

  1. 获取图像的尺寸:首先,你需要获取图像的宽度和高度,以便计算矩形框的位置。

  2. 计算矩形框的中心点:根据图像的尺寸,计算出矩形框的中心点应该位于图像的左侧中间位置。

  3. 绘制矩形框:使用OpenCV的cv2.rectangle()函数绘制矩形框,并确保其中心点位于计算出的位置。

以下是一个示例代码,展示了如何实现这一功能:

import cv2
import numpy as np

# 创建一个空白图像
image = np.zeros((480, 640, 3), dtype=np.uint8)

# 获取图像的尺寸
height, width = image.shape[:2]

# 定义矩形框的宽度和高度
rect_width = 100
rect_height = 150

# 计算矩形框的左上角坐标
# 矩形框的中心点应该位于图像的左侧中间位置
# 左侧中间位置的x坐标为0,y坐标为图像高度的一半减去矩形框高度的一半
x = 0
y = (height // 2) - (rect_height // 2)

# 计算矩形框的右下角坐标
x_end = x + rect_width
y_end = y + rect_height

# 绘制矩形框
cv2.rectangle(image, (x, y), (x_end, y_end), (0, 255, 0), 2)

# 显示图像
cv2.imshow("Image with Rectangle", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码解释:

  • image = np.zeros((480, 640, 3), dtype=np.uint8):创建一个480x640的空白图像。
  • height, width = image.shape[:2]:获取图像的高度和宽度。
  • rect_widthrect_height:定义矩形框的宽度和高度。
  • x = 0:矩形框的左上角x坐标设置为0,表示矩形框位于图像的左侧。
  • y = (height // 2) - (rect_height // 2):计算矩形框的左上角y坐标,使其中心点位于图像的中间位置。
  • cv2.rectangle(image, (x, y), (x_end, y_end), (0, 255, 0), 2):绘制矩形框,颜色为绿色,线宽为2。

结果:

运行上述代码后,你会在图像的左侧中间位置看到一个绿色的矩形框,其中心点始终保持在左侧中间位置。

你可以根据需要调整矩形框的宽度和高度,或者改变图像的分辨率,代码会自动调整矩形框的位置。