python检测Houghlines中的错位问题

2024-04-18 22:42:48 发布

您现在位置:Python中文网/ 问答频道 /正文

Hough Lines detected in red[1]

您好,我正在开发一个应用程序,我需要使用hough提取这些波段,但在提取这些波段时,我遇到了一些问题,例如检测到的线未对齐

你有什么办法自动处理这个问题吗? 有些建议是关于使用主成分分析来获得第一维度,但对我来说不是很清楚

谢谢

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
lines = cv2.HoughLines(edges,1, 1.5*np.pi,150)
lines1 = lines[:, 0, :]

for rho, theta in lines1[:]:
    #x1 = rho
    #x2 = rho
    #y1 = 0
    #y2 = extraireBlots.l
    a = np.cos(theta)
    b = np.sin(theta)
    x0 = a * rho
    y0 = b * rho
    pt1 = (int(x0 + 1000 * (-b)), int(y0 + 1000 * (a)))
    pt2 = (int(x0 - 1000 * (-b)), int(y0 - 1000 * (a)))
    cv2.line(img, pt1, pt2, (255, 0, 0), 2)

Tags: img波段npcv2intlinesrhoedges