gpt4 book ai didi

python - 如何使用opencv计算给定底部的矩形的顶部坐标?

转载 作者:行者123 更新时间:2023-12-02 16:52:50 24 4
gpt4 key购买 nike

我想在我的面部的某个区域上绘制一个矩形,该区域具有较低的2个坐标(左和右)。

现在,我正在尝试计算将完成一个矩形的前2个坐标。我具有要添加的int值作为高度。

如何将此高度加到2个底点?
说:

bottom_left = (x1, y1)
botoom_right = (x2, y2)

我想在上述两点加60。那么我该如何计算:
top_left = ?
top_right = ?

这样我就可以使用:
cv2.rectangle(face, (bottom_left, top_left), (top_right, bottom_right), (255, 0, 0), 3)

enter image description here

最佳答案

怎么样:

h = 60
deltaX = x2 - x1
deltaY = y2 - y1
w = math.sqrt(deltaX**2 + deltaY**2)

dxHat = -deltaY / w
dyHat = deltaX / w

dx = h * dxHat
dy = h * dyHat

top_left = (x1 + dx, y1 + dy)
top_right = (x2 + dx, y2 + dy)

此版本通过显式使用2D perp操作(在dxHat和dyHat的计算中)纠正了我先前的(不正确的)基于trig的解决方案的偏斜。然后将其缩放所需的h,以计算与原始点的偏移量。

关于python - 如何使用opencv计算给定底部的矩形的顶部坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57194775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com