0

我正在尝试使用概率 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)

因此,我被卡住了,我不知道如何继续。什么是可能的解决方案?

任何帮助表示赞赏。谢谢你。

4

0 回答 0