Finding angle of rotation of an image after comparing with the target image


I have a target image and a detected image of same object which is rotated.
I would like to compare the 2 images and find out the angle which gives highest comparison confidence.

The above image is the target and below is the detected image.

If you have always le black ellipsoid use moment

Currently I am using opencv contour and minarearectangle to find the rotated boundong box and than match template function matching. But this approach gives different contours all than because of various reason like light, reflection and hence the rotated angle from minarear rectangle is not stable.Any suggestion how can i find the top point of the images.?