A fisheye lens can be used either for its distortion, or (with some postprocessing) as an ultra wide lens.

More about fisheye projection: [1]

I'd like to implement in Magic Lantern some routines which make it easier using fisheye lenses as UWAs.

Correcting the fisheye lens distortion is sometimes called defishing.

Defishing methods[edit | edit source]

Fisheye -> Rectilinear[edit | edit source]

You can convert a fisheye image to rectilinear projection => you get the same image as if you would get with a "normal" lens

The resulting image usually looks ugly, exaggerating stuff in the corners, but mathematically correct (i.e. with straight lines perfectly straight).

Fisheye -> Panini[edit | edit source]

That's a nice one. It straightens vertical lines (which are most noticeable), does not throw away lots of pixels and does not soften corners. Hugin/nona implements this.

Read more: [2][3]

Other methods[edit | edit source]

There are tons of projections from which you can choose, but you have to experiment.

Defishing software[edit | edit source]

For stills[edit | edit source]

  • Hugin/nona (free, open source) /* that's what I use */
  • DeFish (free, Mac only) [4][5]
  • FishEyeWarp (freeware, Windows only) [6]
  • RectFish (commercial) [7]
  • PTLens (commercial) [8]
  • some Photoshop plugins [9]
  • ACR [10]
  • Paint Shop Pro [11]
  • DxO [12]
  • SamyangFisheyeDefisher (freeware, Windows and Mac OS X) [13]
  • AnglerFish (commercial, Windows only) [14]

Hint: try to fix chromatic aberration before defishing.

For video[edit | edit source]

As I don't know how to use avisynth yet, I use "nona" for defishing video. It's slow, but works well. I've written a small front-end which does all the dirty work; if anyone wants it, I'll post it online.

Cropmarks[edit | edit source]

If you want to use the fisheye as an UWA, you will want to know how much data will be thrown away by the defishing process. This cropmark will help you frame the image, so you'll know what will be in the picture and what not.

This is for Samyang 8mm fisheye lens, for conversion to rectilinear, computed for crop (1.6x) bodies (like 550D), for 3:2 aspect ratio. For 16:9 you'll lose a lot more corner data, so maybe it's better to use Panini instead.


TODO: compute the cropmark for Panini projection.

Before using the cropmark in ML, you have to convert it according to Cropmarks.

Community content is available under CC-BY-SA unless otherwise noted.