Ich kann "cv2.HoughLines" von Opencv verwenden, um Zeilen in einem Bild zu erkennen. Aber ich möchte wissen, wie ich Randomized Hough Transformation implementieren kann, um Zeilen mit opencv Python zu erkennen, da die Literaturübersicht sagt, dass RHT besser als HT ist. Kann mir bitte jemand helfen?Wie implementiert man randomisierte Hough-Transformation, um Linie zu erkennen?
das ist das Bild, das ich habe
nach dem folgenden Code
lines = cv2.HoughLines(imgray, 1, np.pi/180, 300)
for rho, theta in lines[0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a * rho
y0 = b * rho
x1 = int(x0 + 1000 * (-b))
y1 = int(y0 + 1000 * (a))
x2 = int(x0 - 1000 * (-b))
y2 = int(y0 - 1000 * (a))
cv2.line(imgray, (x1, y1), (x2, y2), (0, 0, 255), 2)
Lehre, wie man eine solche über den Rahmen dieser Gemeinschaft komplexen Algorithmus ist Art und Weise zu implementieren. Das musst du selbst lernen. Ich bin sicher, dass Sie online Quellcode und Papiere finden. Sie können um Hilfe bei kleinen Schritten auf Ihrem Weg bitten, aber niemand wird 200 Seiten hier schreiben. – Piglet
Wie kann ich mehrere Zeilen erkennen, nicht nur eine? – annie
Sie erkennen wahrscheinlich mehr als eine Zeile, aber mindestens so formatiert wie in Ihrem Post wird Ihr Code nur eine Zeile zeichnen, da der Aufruf von cv2.line außerhalb der for-Schleife liegt ... – Piglet