天天看點

Computer Vision 學習筆記1 - Fundamentals of image formation

In perspective projection, parallel lines in the world (except the line parallel to image) willconverage to a vanishing point at infinity in image.

Proof:

If we have a point A ([Ax Ay Az]') and direction vector D ([Dx Dy Dz]'),

so any point ([X Y Z]') on the line represented by the point and vector can be written as:

[X Y Z]' = [Ax Ay Az]' + k*[Dx Dy Dz]'  ................. (1)

where k is a factor to indicate that how far the point is away from A.

Base on the property of perspective projection:

x = f*(X/Z)

y = f*(Y/Z)

where x and y is the point in image coordinate.

Substitute equation (1) we get:

x = f*(Ax + kDx)/(Az + kDz)

y = f*(Ay + kDy)/(Az + kDz)

If the k is infinite, the Ax, Ay and Az can be neglected compared to kDx, kDy and kDz, which makes above equation to be:

x = f*(Dx/Dz)

y = f*(Dy/Dz)

(x, y) is the coordinate of the vanishing point, which is independent to the starting point A.

Nearer objects are lower in the image

proof:

The equation of the ground plane is Y = -h, h is the height of camera.

A point on the ground plane will have y coordinate as: y = -f*(h/Z)

If the point is far away from as:

               Z -> ∞

               y -> 0

If the point is a nearer point, y will be more negative, since Z is smaller and the whole f*(h/Z) term become larger.

Nearer objects look bigger:

Consider a bottom point and top point of a object which locate on the ground.

Bottom at (X, -h, Z)

Top at (X, L-h, Z)

where h again is the height of camera.

Bottom projected to: (f*X/Z, -f*h/Z)

Top projected to: (f*X/Z, f*(L-h)/Z)

So the difference of the y coord is: f*L/Z

When Z is larger the difference is smaller which results in smaller object, vice versa.

繼續閱讀