如何使用HoguhLineP获得角度(θ)值?

时间:2016-06-09 06:55:30

标签: python opencv image-processing hough-transform

我有一个可以检测线条的示例代码。我需要检测具有角度的线条。但是此代码会检测图像中的所有行。

import cv2
import numpy as np

img = cv2.imread('myhouse.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)
minLineLength = 200
maxLineGap = 10
lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
for x1,y1,x2,y2,theta in lines[0]:
    print (theta)
    cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)

cv2.imwrite('houghlinesmyhouse.png',img)

我用来检测的图像和结果图像是

enter image description here 图像

enter image description here 结果

我需要检测我提供的屋顶(图像)。请帮我如何检测屋顶。在我的方法中,我计划通过检查角度来检测屋顶。

1 个答案:

答案 0 :(得分:0)

请参阅文档 Hough Line Transform

在我看来,你无法获得HoughLinesP的学位。你可以从HoughLines获得。