修改了旋转90°会闪退的bug

This commit is contained in:
Liar 2022-06-08 18:27:29 +08:00
parent cc18db847b
commit c48b63903a

20
demo.py
View File

@ -110,17 +110,21 @@ class HandDetector:
return self.lmList, bbox_info
def revolve(self, img, draw=True):
"""
旋转手势识别点
:param img: 要查找的主图像
:param draw: 在图像上绘制输出的标志(默认绘制矩形框)
:return: 像素格式的手部关节位置列表
"""
# print(self.lmList)
point_x = self.lmList[0][0]
point_y = self.lmList[0][1]
theta = math.atan((self.lmList[13][0] - point_x) / (self.lmList[13][1] - point_y))
if self.lmList[13][1] - point_y > 0:
delta_x = self.lmList[13][0] - point_x
delta_y = self.lmList[13][1] - point_y
if delta_y == 0:
if delta_x < 0:
theta = math.pi / 2
else:
theta = -math.pi / 2
else:
theta = math.atan(delta_x / delta_y)
if delta_y > 0:
theta = theta + math.pi
# print(theta*180/math.pi)
for i in self.lmList:
px, py = Rotate(theta, i[0], i[1], point_x, point_y)
px = int(px)