Я пытаюсь использовать вероятностные c HoughLine Tranforms. После использования HoughLinesP я получаю следующие строки:
Обратите внимание, что синий элемент, обозначенный на изображении, не является его частью. Я сделал это с помощью краски в демонстрационных целях. Я хочу, чтобы углы были показаны синим.
Итак, я попробовал использовать точки от линий, вычислить их наклон и взять арктангенс. Но результата не получил. Обратите внимание, что следующая функция является частью класса.
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)
Поэтому я застрял и не знаю, как действовать дальше. Какое может быть возможное решение?
Любая помощь приветствуется. Спасибо.