HoughCircles в OpenCV работает только в идеальных условиях и только с кругом, но не с эллипсом. Как мне решить эту задачу?
Предлагаю залезть в этот класс, посмотреть, как там определяется круг. Если там что-то вокруг формул окружности - замените формулой эллипса, если там что-то вокруг погрешности определения пикселей - частей круга, попробуйте эту погрешность увеличить, что будет? - технически, дерево это не эллипс, мб нужно убрать из опенсв такую строгость ручками..
Если с тем, что я предложил, не выгорит, можно попробовать сделать всё самому.
У Вас в примерах картинок нет никакого отсеивания мусора, наверно, стоит этим заняться.
Есть методы эрозии и дилатации, примененные в некоторой последовательности, они помогут Вам убрать ненужные артефакты там, где они не нужны, и достроить ваши эллипсы до завершенных фигур.
это будет проще, чем по контуру дуги находить контур эллипса.
Но, после того, как "окружности" будут завершенными, думаю, придется заниматься хордовыми секторами, но, лично я бы, сначала попробовал бы в тупую найти кружок на матрице пикселей..
Напишите, пожалуйста, что у вас получилось в итоге, интересно