Изображение имеет два эллипса (для простого случая мы можем считать, что оба эллипса одинаковы). Один из эллипсов вращается и переводится с другого. У нас есть только изображение этих эллипсов. Как оценить угол поворота (угол между двумя эллипсами)?Как найти угол между двумя эллипсами в изображении?
ответ
Представляю некоторые предварительные шаги предварительной обработки, а затем с использованием некоторых внутренних методов OpenCV мы можем получить то, о чем вы просите.
If the image is RGB or RGBA:
convert it to GRAY [use cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)]
Threshold the image to get a binary image with 2 ellipses. [cv2.threshold()]
Find contours in the binary image [cv2.findContours()]
Call the cv2.fitline() on each contour to get the line equation.
Apply the formula to get the angle between 2 lines.
Для более операций на контуры посещения http://docs.opencv.org/trunk/dd/d49/tutorial_py_contour_features.html
Это даже лучшая идея. Использование 'cv2.fitline()' идеально подходит! –
Off верхней части моей головы, я бы это: (учитывая теги, я полагаю, вы используете OpenCV)
1- Используйте команду «findContours», чтобы получить пиксели границ каждого эллипса отдельно.
2-Для каждого эллипса вычислите расстояние между каждой пар пикселей (для всех пикселей на границе - в двойном цикле) уравнением :(D=sqrt((y1-y2)^2 + (x1-x2)^2)
) и найдите пару, которая показывает наибольшее расстояние. Эта пара состоит из двух концов большой оси многоточия.
3-Использование двух упомянутых точек, вычислить угол главной оси по отношению к оси х изображения по уравнению:
angle = arctan((y2-y1)/(x2-x1))
4-Найти угол для другой многоточие и вычесть два чтобы найти угол между ними.
- 1. winforms найти ближайшие координаты между двумя эллипсами
- 2. Найти угол между двумя подшипниками
- 3. Найти угол между двумя векторами
- 4. Найти угол между двумя позициями
- 5. Рассчитать перекрытие между двумя эллипсами
- 6. соединительные линии между двумя эллипсами
- 7. Подключить линию между двумя эллипсами
- 8. Как найти угол между двумя парами точек?
- 9. Как найти угол между двумя векторами?
- 10. для измерения контакта Угол между двумя краями на изображении
- 11. Не могу найти угол между двумя векторами
- 12. Использование atan2 найти угол между двумя векторами
- 13. Найти угол между двумя заданными строками 2D
- 14. Ошибки найти угол между двумя точками
- 15. Python Pygame найти угол между двумя точками
- 16. Как найти угол между двумя точками в pygame?
- 17. Как найти угол между двумя точками на кривой Безье?
- 18. PaperJS - угол между двумя точками
- 19. Получить угол между двумя точками
- 20. вычислить угол между двумя растрами
- 21. Угол между двумя ребрами графа
- 22. Угол между двумя векторами Matlab
- 23. Угол между двумя координатами GPS
- 24. Scenekit: Угол между двумя SCNNode
- 25. Угол между двумя векторами javascript
- 26. Угол измерения между двумя векторами в XNA
- 27. Как получить правильный угол между двумя плоскостями?
- 28. Как рассчитать угол между двумя векторами?
- 29. Как рассчитать тупой угол между двумя векторами?
- 30. Дефект в угол расчета между двумя точками
Получить основную ось эллипса -> Рассмотрим эти оси как линии и использовать функцию «arctan2» или аналогичную функцию из «numpy» –
, если вы не знаете, как получить оси, см. [Согласование эллипса] (http : //stackoverflow.com/a/36054594/2521214), тогда 'angle = acos (точка (a1, a2)/| a1 |. | a2 |)' где 'a1, a2' являются основными векторами оси для каждого эллипса – Spektre
Thank вы Jeru Luke и Spektre 5 – Avi