3

I am looking for an efficient way to calculate the position of an oject on a surface based on an image taken from a certain perspective.

Let me explain a little further. There is an object on a rectangular flat surface. I have a picture taken of this setup with the camera positioned at one of the corners of the surface area at a rather low angle. On the picture I will thus see a somewhat distorted, diamond-shaped view of the surface area and somewhere on it the object.

Through some image processing I do have the coordinates of the object on the picture but now have to calculate the actual position of the object on the surface.

So I do know that the center of the object is at the pixel-coordinates (x/y) on the picture and I know the coordinates of the 4 reference points that represent the corners of the area.

How can I now calculate the "real world" position of the object most efficiently (x and y coordinates on the surface)?

Any input is highly appreciated since I have worked so hard on this I can't even think straight anymore.

Best regards, Tom

4

2 回答 2

1

你必须找到一个透视变换。

在这里您可以在 Matlab 中找到解释和代码

于 2011-02-12T17:09:38.037 回答
1

你的线性代数有多好?透视变换可以用单应矩阵来描述。您可以使用四个角点估计该矩阵,将其反转并计算图像中每个像素的世界坐标。

或者你可以让OpenCV为你做这件事。

于 2011-02-12T17:13:29.063 回答