2016-12-28 2 views
0

Я хочу определить линии и кривые с помощью OpenCV 3.1, Python 3.4 и Hough transformer. Я нашел много сайтов, но я не понимаю, как я могу программировать формулы. У меня есть этот код:определение кривой преобразования hough с opencv и python

lines = cv2.HoughLines(edges,1,np.pi/180,200) 
    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(img,(x1,y1),(x2,y2),(0,0,255),2) 

для обнаружения круга, если нашел это:

x = a + r * cos0 
y = b + r * sin0 

его достаточно, если я изменить только x0 и y0 в

 x0 = a+rho*cos0 
     y0 = b+rho*sin0 

?

Заранее спасибо.

+0

для обнаружения линий HoughLines и HoughLinesP для обнаружения использования круга HoughCircles. Для обнаружения объектов произвольной формы используется Обобщенное преобразование. Чтобы понять, как показано, как преобразовать работу в линию, посмотрите это видео https://www.youtube.com/watch?v=4zHbI-fFIlI для круга красного цвета https://www.cis.rit.edu/class/simg782/ Лекции/lecture_10/lec782_05_10.pdf обобщенные также похожи на обнаружение круга. – Yirga

+0

Спасибо, но могу ли я использовать GeneralizedHough Transform с OpenCV 3.1 и Python? Я не могу найти информацию об GeneralizedHough Transform – Raga

+0

Я думаю, что нет реализации обобщенного преобразования Hough в opencv для python, но есть обобщенная реализация преобразования Hogh только в python – Yirga

ответ

0

Я рассматриваю аналогичный тип проблемы и нашел следующую документацию, если вы ее не видели. К сожалению, код находится на C, поэтому вам придется выяснить, что он делает. Тем не менее, есть объяснение каждого раздела кода, содержащегося в учебнике. OpenCV Hough Tutorial

+0

Это не дает ответа на вопрос. Получив достаточную репутацию, вы сможете прокомментировать любую запись; вместо этого дайте ответы, которые не требуют разъяснений у собеседника. –

Смежные вопросы