I have been trying to segment the tread from images. The expected segmentation(manually segmented) is 1
The methods I have tried so far,
- Found out the edges using the Line segment detector in OpenCV. Then grouped line segments based on nearness and orientation. From the groups, sampled the points to fit a two-degree polynomial. Using the curve equations, I found the mask for the tread.
- Treated the problem as a binary segmentation problem and trained a CNN to get the mask. Since I don't have enough samples to train, I cannot use this method.
- Tried out the watershed method. Failed due to poor marker construction.
Please note that I cannot use color thresholding as the background color changes.
Below is the image I want to segment.
Any idea on how I should approach this problem or which techniques will be useful will be of great help. I'm constrained to use Python and OpenCV.
Thanks.

