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

У меня вопрос о преобразовании Хафа в OpenCV 2.4.9 (Python).

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

cv2.HoughLinesP (image, rho, theta, threshold [, lines [, minLineLength [, maxLineGap]]]) → строки

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

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

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

Tnanks ..


person dd210    schedule 30.08.2014    source источник


Ответы (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 docs, это своего рода перегрузка функции, но поскольку python предоставляет необязательные аргументы, она используется. lines[ просто означает, что вы можете передать массив numpy, в котором будут храниться строки. Итак, теперь, если вы хотите передать другие параметры и пропустить lines, вам придется передать их по имени параметра.

person Froyo    schedule 31.08.2014