我正在尝试使用概率 HoughLine Tranforms 。使用 HoughLinesP 后,我得到以下几行:
请注意,图像中表示的蓝色东西不是它的一部分。我已经使用油漆进行了演示。我想要以蓝色显示的角度。
所以我尝试的是使用线条中的点并计算它的斜率并取arctan。但我没有得到任何结果。请注意,以下函数是类的一部分。
def HoughLines(self):
self.copy_image = self.img.copy()
minLineLength = 10
maxLineGap = 30
self.lines = cv2.HoughLinesP(self.edges,1,np.pi/180,15,minLineLength=minLineLength,maxLineGap=maxLineGap)
for line in range(0, len(self.lines)):
for x1,y1,x2,y2 in self.lines[line]:
cv2.line(self.copy_image,(x1,y1),(x2,y2),(0,255,0),2)
# cv2.imshow('hough',self.copy_image)
# cv2.imwrite('test.jpg', self.copy_image)
# cv2.waitKey(0)
angle = 0.0
self.nlines = self.lines.size
for x1, y1, x2, y2 in self.lines[0]:
angle += np.arctan2(y2 - y1, x2 - x1)
print(angle)
因此,我被卡住了,我不知道如何继续。什么是可能的解决方案?
任何帮助表示赞赏。谢谢你。