Detecção de moedas (e elipses de ajuste) em uma imagem

Atualmente, estou trabalhando em um projeto em que estou tentando detectar algumas moedas em uma superfície plana (ou seja, uma mesa). As moedas não se sobrepõem e não são ocultadas por outros objetos. Mas pode haver outros objetos visíveis e as condições de iluminação podem não ser perfeitas ... Basicamente, considere-se filmando sua mesa com algumas moedas.

Portanto, cada ponto deve ser visível como uma elipse. Como não sei a posição da câmera, o formato das elipses pode variar, de círculo (vista de cima) a elipses planas, dependendo do ângulo em que as moedas são filmadas.

Meu problema é que não tenho certeza de como extrair as moedas e, por fim, colocar elipses sobre elas (o que estou procurando fazer mais cálculos).

Por enquanto, acabei de fazer uma primeira tentativa definindo um valor limite no OpenCV, usando findContours () para obter as linhas de contorno e ajustando uma elipse. Infelizmente, as linhas de contorno raramente me dão a forma das moedas (reflexos, pouca iluminação, ...) e dessa maneira também não é a preferida, pois não quero que o usuário defina nenhum limite.

Outra idéia foi usar um método de correspondência de modelo de uma elipse nessa imagem, mas como não sei o ângulo da câmera nem o tamanho das elipses, não acho que isso funcionaria bem ...

Então, eu queria perguntar se alguém poderia me dizer um método que funcionaria no meu caso ...

Existe uma maneira rápida de extrair as três moedas da imagem? Os cálculos devem ser feitos em tempo real em dispositivos móveis e o método não deve ser muito sensível a luzes diferentes ou alteradas ou à cor do plano de fundo.

Seria ótimo se alguém pudesse me dar alguma dica sobre qual método poderia funcionar para mim ...

questionAnswers(3)

yourAnswerToTheQuestion