我正在计算风力涡轮机上叶片的角度。
现在我只得到90到-90之间的角度。但是我希望能够以360度计算角度。
我有点卡住;我试图反转0到-90度字段中的角度,但我似乎无法使其正常工作。我正在使用openCV HoughLinesP转换来获取线条,也许常规转换更适合此应用程序,但我不知道如何使线条有限。 我对openCV和phyton还是比较陌生,因此将不胜感激。
编辑:根据bfris的要求,这里是代码(如果您需要更多,请告诉我)
blades = np.copy(edges)
blades = cv2.HoughLinesP(blades, 1, np.pi / 180, 50, minLineLength=25, maxLineGap=20)
for blade in blades:
x1, y1, x2, y2 = blade[0]
angle = np.arctan2(y2 - y1, x2 - x1) * 180 / np.pi
if angle == -90 and angle <= -85:
cv2.line(img, (x1, y1), (x2, y2), (128, 0, 255), 2) #Pink
print(angle)
elif angle > -80 and angle < -50:
cv2.line(img, (x1, y1), (x2, y2), (0, 255, 255), 2) #Yellow
print(angle)
#one blade
elif angle > -40 and angle < 0:
cv2.line(img, (x1, y1), (x2, y2), (255, 0, 0), 2) #Blue
#print(x1,y1,x2,y2)
print(angle)
#second blade
elif angle > 0 and angle < 50:
cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2) #Green
print(angle)
elif angle > 55 and angle <= 75:
cv2.line(img, (x1, y1), (x2, y2), (0, 128, 255), 2) #Orange
print(angle)