Search code examples
opencvcomputer-vision

Find best rectangular fit for segmented contour


After segmentation of Objects in noisy data, I need to fit the best possible retangulat fit. currently I just use opencv findContours and minAreaRect which will give me all around. I know that those objects will always be horizontal in the image with a maximum small angle like in this image.

This can be seen as the green rectanlge in the images, however I would need something like the red drawn rectangles, or even just the middle line (blue) since thats what I do need in the end.

enter image description here

Further, I also do have some conjunctions, like seen in this image:

enter image description here

Here I want to only detect the horizontal part and maybe know that there could be a junction.

Any idea how to solve this problem? I need some fast approach and have not found anything feasable yet.


Solution

  • Got much better results using distance transform (as mentioned from @Micka) on the masked Image, afterwars find the Line with the biggest distance as the middle of the rectangle (using some Filters, cuting off the curve) and in the End fitting a Line on the middle estimate.