您好,我正在开发一个应用程序,我需要通过使用hough来提取这些频段,但是在提取它们时遇到了一些问题,例如检测到的线条未对齐。
您有任何自动解决此问题的想法吗? 有关使用PCA获得第一个维度的一些建议,但对我来说还不是很清楚。
谢谢。
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)