Получение желаемых углов из преобразований HoughLineP с помощью OpenCV - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь использовать вероятностные c HoughLine Tranforms. После использования HoughLinesP я получаю следующие строки:

enter image description here

Обратите внимание, что синий элемент, обозначенный на изображении, не является его частью. Я сделал это с помощью краски в демонстрационных целях. Я хочу, чтобы углы были показаны синим.

Итак, я попробовал использовать точки от линий, вычислить их наклон и взять арктангенс. Но результата не получил. Обратите внимание, что следующая функция является частью класса.

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)

Поэтому я застрял и не знаю, как действовать дальше. Какое может быть возможное решение?

Любая помощь приветствуется. Спасибо.

...