Я хочу определить линии и кривые с помощью 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
?
Заранее спасибо.
для обнаружения линий 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
Спасибо, но могу ли я использовать GeneralizedHough Transform с OpenCV 3.1 и Python? Я не могу найти информацию об GeneralizedHough Transform – Raga
Я думаю, что нет реализации обобщенного преобразования Hough в opencv для python, но есть обобщенная реализация преобразования Hogh только в python – Yirga