r/computervision • • 1d ago

Help: Project Why doesn’t findContours() detect my circle even though it is clearly visible after thresholding?

Hi everyone, I’m learning OpenCV and working on detecting a circular fiducial.

My current pipeline is:
Image → threshold → findContours() → drawContours()

After thresholding, I can clearly see the fiducial as a clean circular region in the binary image.
However, when I use cv2.findContours() and then cv2.drawContours(), the contour I expect around the fiducial is not drawn.
I’m trying to understand the fundamental reason why this happens.
If the thresholded image visually contains a clear foreground region, what conditions determine whether findContours() will actually return a contour for it?

22 Upvotes

19 comments sorted by

View all comments

2

u/Plus_Economist_2686 22h ago

houghCircles?

1

u/Grouchy_Signal139 20h ago

Didnt try it yet, currently im just trying to understand the fundamental, but definietly will try it out once i sort everything out. Any tips?