Hi Stéfan,
I don't know if I did something wrong. But I think there are not that much possibilities to do something wrong with canny.
I also just realised.. when I use cv2.fitEllipse() with the same canny input, the ellipses are detected very accurate with no outliers. So maybe canny is not the problem?
Regards,
Arno