Approximating a contour
A lot of contours that we encounter in real life are noisy. This means that the contours don't look smooth, and hence our analysis takes a hit. So how do we deal with this? One way to go about this would be to get all the points on the contour and then approximate it with a smooth polygon.
Let's consider the boomerang image again. If you approximate the contours using various thresholds, you will see the contours changing their shapes. Let's start with a factor of 0.05:
If you reduce this factor, the contours will get smoother. Let's make it 0.01:
If you make it really small, say 0.00001, then it will look like the original image: