center of oblique viewed disk with known radius

23 Views Asked by At

I'm working on a math issue related to image processing that I simply cannot resolve. Let me first introduce you to the project I'm working on:

I have a real world-disk with known dimensions that I have taken 20 images of from different locations in a room. As circular objects form ellipses, when viewed oblique, I wrote an ellipse detection that is already working well, returning the contour, center points and axes length of the found ellipse. To be honest, I thought the center point of the ellipse was supposed to be the center point of the disk, which is not the case. I discussed with a colleague and we are certain that the reason is vanishing point perspective. (this image should make clear why the disk center is not the ellipse center: https://www.handprint.com/HP/WCL/IMG/LPR/perspec6g.gif)

What I would like to calculate, is the center point of the disk. It feels like I should be able to calculate this as I know the dimensions of the disk. But is it? Can someone help me on the maths here?

To make clear what we know in advance:

a) the real world dimensions of the disk

b) the pixel coordinates of the ellipse center, the contour and major/minor axis length

c) the relative real world positions of the camera taking each picture (e.g. image 3 was taken t1|t2|t3 away from image 2 and the camera was rotated like r1,r2,r3).

d) we can assume the camera is calibrated so the camera focal lengths are known as well.

More elegant would be a way solving this issue only using a) and b). In my case the camera is also not calibrated, but for this issue we can assume the camera was undistorted from any barrel or fisheye-effects.

Any help is very welcome. Cheers,

Dennis