Hi all,

I am using the fisheye camera to measure X, Y dimensions with the known Z as can be demonstrated in the image.

The fisheye camera is calibrated by putting the checkboard on the table. After calibration, I have camera matrix, distortion, rotation vector, and translation vector. Z dimension is took from translation vector [ a,b, Z].

Note: the checkboard is 6 x 8 and for each square: 20mm x 20mm

Now, I would like to measure the **X ,Y dimension** in the **mm** unit of **Point A** but I have wrong result.

I used **undisortPoint()** with the input is: **uncalibrated image point(u,v)** from fisheyecamera. Then, I used this equation to calculate **X ,Y dimension** in the **mm** unit

- u = f_{x} * X / Z
- v = f_{y} * Y / Z

However, the result of **Point A(X, Y)** is wrong.

My question is:

- undisortPoint() returns the point in optical Point coordinate or image coordinate?
- Is there any problem with my process that affects my X Y result?

Thank you very much.

I really apologize for my terrible English. Please forgive me.