Привет, я работаю над приложением, и мне нужно извлечь эти полосы, используя 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)