# Perspective Projection: Camera Matrix

Hello everyone,

I am currently using Radiance to generate some test images
for computer vision algorithms.
It would be quite helpful to have a program that calculates
the 3x4 projection matrix (let's call it P) from Euclidian 3-space
to image pixel coordinates for a given set of Radiance view parameters.

That is, for a given Point (X,Y,Z) in the Radiance scene
file I want to find P (depends on the view-parameters) so that
the pixel coordinates x,y of the point in the rendered image are given
by

X
u Y
v = P * Z
w 1

x=u/w
y=v/w.

It should not be very difficult to do this. But nevertheless
I'd like to know whether somebody already did this before
I waste time on re-doing it.

Thanks,

Volker

···

--
Volker Hilsenstein phone: +49 6221 546542
Institute for Environmental Physics 546628
University of Heidelberg
INF 229 Room 116
69120 Heidelberg
Germany [email protected]

Use the vwright program, which outputs the view computation vectors in the second form.

Here is a link to the man page:

It does this with some library calls, so if you need to access this information from a C or C++ program, you might be able to figure it out from the source code in ray/src/util/vwright.c

-Greg

···

Hello everyone,

I am currently using Radiance to generate some test images
for computer vision algorithms.
It would be quite helpful to have a program that calculates
the 3x4 projection matrix (let's call it P) from Euclidian 3-space
to image pixel coordinates for a given set of Radiance view parameters.

That is, for a given Point (X,Y,Z) in the Radiance scene
file I want to find P (depends on the view-parameters) so that
the pixel coordinates x,y of the point in the rendered image are given
by

X
u Y
v = P * Z
w 1

x=u/w
y=v/w.

It should not be very difficult to do this. But nevertheless
I'd like to know whether somebody already did this before
I waste time on re-doing it.

Thanks,

Volker

--
Volker Hilsenstein phone: +49 6221 546542
Institute for Environmental Physics 546628
University of Heidelberg
INF 229 Room 116
69120 Heidelberg
Germany [email protected]