Convert equirectangular to fisheye

Hi all,

Imagine an equirectangular image rendered using view360stereo.cal. For that image we have several view directions for which we want to create fisheye renderings. Perhaps the idea is clearer from the illustration. You will see three red spheres indicating the view directions, and for each the corresponding hemispherical fisheye rendering created by separate rpict calls.

I am wondering if it is possible to instead extract a fisheye image from an equirectangular image by some kind of transformation – or rather if it should be possible – without too much distortion.of both the visual appearance and the data so post-processing and analysis of the fisheye images is possible.

Any thoughts or ideas are appreciated.

Regards,
Mikkel

Hi Mikkel,

I by chance saw this post, and I have been working on the same problem recently.
OmniCV package has this function.

Do you have any other new thoughts?

Guanzhou

Hmmm. For some reason, I never saw this original post, 2.5 years ago!

The easiest way to resample an equirectangular image is to use it in a colorpict entity to define a 360° environment map in Radiance, then render it with the desired view. Your scene description would look something like:

void colorpict equi_rect
7 red green blue equirect.hdr . ‘atan2(Dy,Dx)/PI+1’ ‘Acos(Dz)/PI’
0
0

equi_rect glow env_glow
0
0
4 1 1 1 0

env_glow source background
0
0
4 0 0 1 360

You can then render this into as many views as you like using rpict or whatever.

-Greg