python - 获取矩形opencv python的中心

标签 python opencv

import cv2
import numpy as np



blank = np.zeros((720,720,3), np.uint8)
cv2.rectangle(blank,(168,95),(2,20),(0,0,255),3)
cv2.rectangle(blank,(366,345),(40,522),(0,255,0),3)
cv2.imshow('test', blank)
cv2.waitKey(0)
cv2.destroyAllWindows()

enter image description here

如何获取每个矩形中心的坐标?我正在尝试画一条线来覆盖它们之间的距离。

最佳答案

cv2.rectangle 只绘制矩形本身,它不返回类或存储元数据。由于您已经有了定义矩形的角点,因此获取每个角的中心很简单,只需 ((x1+x2)/2, (y1+y2)/2)。因此,您可以像这样在它们之间划清界线:

rect1center = ((168+2)/2, (95+20)/2)
rect2center = ((366+40)/2, (345+522)/2)
cv2.line(blank, rect1center, rect2center, color, thickness)

关于python - 获取矩形opencv python的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48950949/

相关文章:

python - Argparse 的 GUI

matlab - 如何在opencv中将Matlab fft函数转换为cvDft

python - opencv - 视频看起来不错,但帧旋转了 90 度

Python 视频处理

python - 在 matplotlib imshow 中调整网格线和刻度线

python - Django Crispy 表单提交按钮

python - 迭代 pandas 中的行,将值向右移动一位

python - 为什么floatX的标志会影响Theano中是否使用GPU?

java - 从 Maven 存储库加载 OpenCV 库时出错

opencv - 如何从一个函数返回多个图像?