Вероятностное преобразование Хафа в OpenCV 2.4.9 (Python)

Мой вопрос о преобразовании Хафа в OpenCV 2.4.9 (Python).

Вот выдержка из учебника:

cv2.HoughLinesP (изображение, rho, тета, порог [, линии [, minLineLength[, maxLineGap]]]) → линии

Я не очень понимаю, что означает "линии [," ". Я использую функцию следующим образом:

lines = cv2.HoughLinesP (ребра, 1, np.pi/180, 25, 2,25,115)

Но что на самом деле означает параметр "2"? Кажется, ничего не меняется, когда я назначаю разные значения для этого параметра.

Tnanks..

1 ответ

Решение

Вы должны использовать это так

lines = cv2.HoughLinesP(edge_image, rho=1.0, theta=math.pi/180.0,
                                    threshold=thresholdVal,
                                    minLineLength=minlinelengthVal,
                                    maxLineGap=maxlinegapVal)

Если вы прочитаете о преобразованиях Хафа и вероятностных преобразованиях Хафа, вы поймете, что для накопления всех граничных точек используется аккумулятор. rho разрешение по расстоянию аккумулятора в пикселях и theta угол разрешения аккумулятора в радианах.

И насколько cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) → lines Это касается документации, это своего рода перегрузка функций, но так как python предоставляет необязательные аргументы, это используется. lines[ просто означает, что вы можете передать пустой массив, где будут храниться строки. Так что теперь, если вы хотите передать другие параметры и пропустить linesвам нужно будет передать их по имени параметра.

Другие вопросы по тегам